Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 Cultura Informatica
 Cultura Informatica
 [Java] JTextArea non prende i dati dal DB
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

Juwan
Nuovo Utente

Città: Roma


Inserito il - 04/09/2005 : 19:00:40  Mostra Profilo  Visita l'Homepage di Juwan  Invia a Juwan un messaggio ICQ  Clicca per vedere l'indirizzo MSN di Juwan  Invia a Juwan un messaggio Yahoo! Invia a Juwan un Messaggio Privato  Rispondi Quotando
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();
        }
}

n/a
deleted

Prov.: Bari


Inserito il - 04/09/2005 : 20:35:34  Mostra Profilo  Visita l'Homepage di n/a Invia a n/a un Messaggio Privato  Rispondi Quotando
fai un po' di buon debug, e' capace che la query non ti restituisce record, o qualche altra cosa a prescindere dal restituire i valori nella textbox
procedi controllando
-che esegua il ciclo while(res.next) quante volte deve
-che la query abbia successo
-che si connetta al db con quell'url che hai specificato (che non mi convince molto:) )
Torna all'inizio della Pagina

genius
dott. ing. cav. ...FN

Genio


Regione: Puglia
Prov.: Bari
Città: Molfetta - Caput Mundi


Inserito il - 05/09/2005 : 00:33:02  Mostra Profilo  Visita l'Homepage di genius  Clicca per vedere l'indirizzo MSN di genius  Invia a genius un messaggio Yahoo! Invia a genius un Messaggio Privato  Rispondi Quotando

        ...

        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");
        }

        ...


se il sonno nn mi ha annebbiato completamente i sensi direi ke il problema sta in quel "append". Di default la stringa ke rappresenta la textArea è inizializzata a null. Questo significa ke tu fai un append ad una stringa nulla. Prova a sostituire append con setText o in alternativa in fase di istanziazione crea una textArea con stringa vuota "new JTextArea("");" quest'ultima soluzione è piuttosto sporca e poco ottimizzata, ma se devi proprio fare un append, è l'unico modo ke conosco. Se invece non sei vincolato all'append ti consiglio un setText...

spero di averti aiutato...byez

"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."

Un blog farlocco
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,21 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000