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

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
Juwan Inserito il - 04/09/2005 : 19:00:40
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();
        }
}
2   U L T I M E    R I S P O S T E    (in alto le più recenti)
genius Inserito il - 05/09/2005 : 00:33:02

        ...

        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
n/a Inserito il - 04/09/2005 : 20:35:34
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:) )

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,06 secondi.

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