Newsgroup: it.comp.java
Titolo: JTextArea non prende dati dal DB

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();
        }
}
-- 
# ICQ 84624356
# MSN 
lello...@katamail.com
# Yahoo ilpuntatore 

                                 x.prendi(c,n,m);
Per me il problema e' che usi un'altra jtextarea, quella dell'altro 
frame x, che non visualizzi nemmeno.
Saluti
CarMas

 x, che non visualizzi nemmeno.
Cavolo hai proprio ragione, grazie molte ;-)