Salve ragazzi ho un problema con un'applicazione java per linux, che usa un
db mysql. Il programma funziona bene, solo la JTextArea non prende i valori
dei vari campi del database, anche se stranamente se provo a stampare i
valori dei campi da console si vedono correttamente, quindi è un problema
della JTextArea, spero che qualcuno vorrà aiutarmi a capire dov'è l'errore,
ecco qui sotto il codice
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import java.lang.*;
import java.io.*;
import java.sql.*;
class frame extends JFrame
{
JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JButton bottone = new JButton("Inserisci ");
JButton bottone2 = new JButton("No Testo");
JButton fine = new JButton("Prendi");
JTextArea area = new JTextArea();
JTextField testo = new JTextField(10);
JTextField testo2 = new JTextField(10);
JLabel label = new JLabel("Inserire tipo");
JLabel label2 = new JLabel("Inserire marca");
Container cont = getContentPane();
ArrayList v= new ArrayList();
public String a1,b1,c1;
public frame(String g)
{
}
public frame()
{
setTitle("Lista");
setSize(700,700);
cont.add(panel, BorderLayout.NORTH);
panel.add(label);
panel.add(testo);
panel.add(label2);
panel.add(testo2);
panel.add(bottone);
panel.add(bottone2);
cont.add(panel2, BorderLayout.CENTER);
panel2.add(area);
JScrollPane scroll = new JScrollPane(area);
cont.add(scroll, BorderLayout.CENTER);
cont.add(panel3, BorderLayout.SOUTH);
panel3.add(fine);
Azione a = new Azione(testo, testo2, area);
bottone.addActionListener(a);
bottone2.addActionListener(a);
fine.addActionListener(a);
}
void prendi(String a, String b, String c)
{
area.append(a + " " + b + " " + c + "\n");
/*La stampa da console funziona, ma la JTextArea no */
System.out.println(a + " " + b + " " + c + "\n");
}
}
class Azione implements ActionListener
{
JTextField test;
JTextField test2;
JTextArea ar;
public Azione(JTextField t, JTextField t2, JTextArea a)
{
test=t;
test2=t2;
ar=a;
}
public void actionPerformed(ActionEvent event)
{
String command= event.getActionCommand();
boolean bool=false;
if(command.equals("No Testo"))
{
ar.setEditable(bool);
}
if(command.equals("Inserisci"))
{
}
if(command.equals("Prendi"))
{
db a = new db();
a.Interroga();
}
}
}
class db
{
public String c,n,m,s;
ArrayList vet = new ArrayList();
frame x = new frame("b");
public void Interroga()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost/bar", "giovanni", "");
Statement stat = con.createStatement();
ResultSet res = stat.executeQuery("SELECT * FROM birre");
while (res.next())
{
c=res.getString("id_birra");
n=res.getString("tipo");
m=res.getString("marca");
x.prendi(c,n,m);
}
res.close();
stat.close();
con.close();
}
catch(Exception e)
{
System.out.println("Problema: " + e.toString());
e.printStackTrace();
}
}
}
public class myapp
{
public static void main(String[] args)
{
frame f = new frame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
}
}