Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 04:57 Der er 11 kommentarer og
1 løsning

setText på JTextField

Jeg har nogle værdier som skal sættes for en masse JTextField. Hvad kan prbolemet være. Det virker en en af mine filer, men ikke i den anden. Her er et eksemple på den der ikek virker:

    private void getEmp()    {
       
        try {
       
dbConnect dbc2 = new dbConnect();
Connection con2 = dbc2.getConnection();
Statement stmt2 = con2.createStatement();
ResultSet getEmp = stmt2.executeQuery("SELECT fname, mname, lname, cpr, adresse, emtime, wunder FROM employee WHERE cpr = '" + cprGui + "'");     
   
    System.err.print(cprGui + "Udføre select korret" + "\n");
       
        while(getEmp.next()) {
           
            String fname = getEmp.getString(1);
           
           
            fnameIn.setText(fname);  Skriver intet i feltet
           
            System.err.print(fname + "\n");
       
        System.err.print(cprGui + "Finder den rigtige person, men kan ikke skrive til felterne af en eller anden mærkelig grund" + "\n");
 

        }
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 05:18 #1
Jeg skriver sådan her fname.setText(empAktuel.get(0)); men jeg får en nullpointer exception også hvis jeg skrive 1 osv.
Avatar billede arne_v Ekspert
11. april 2005 - 07:06 #2
Umiddelbart kunne man jo tro at det var  fnameIn som var null.

Måske

JTextBox fnameIn;

versus

JTextBox fnameIn = new JTextBox();
Avatar billede arne_v Ekspert
11. april 2005 - 07:08 #3
Har du iøvrigt tænkt på at du sætter det samme tekst feltet til et database feelt
for alle rækker i database d.v.s. at du kun kan se den sidste række ?

[Swing har nogle komponenter som f.eks. JList og JTable til at vise mange
data med]
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 10:23 #4
Nej jeg tager jo alle data ud i nogle variabler først og dem kan jeg godt udprinte i System.out, men de vil ikke tilgå som værdier i de forskellige tekstfelter.

Jeg får jo 7 forskellige seperate værdier ind via String fname = getEmp.getString(1-7);
Avatar billede arne_v Ekspert
11. april 2005 - 10:28 #5
Har du new'et fnameIn ?

Og hvordan vil du have vist flere rækker ?
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 10:41 #6
Jeg har lavet 7 JTextFields og jeg har 7 værdier jeg får som Strings fra min forespørgsel, som ser ud sådan. den finden den aktuelle og jeg kan udskrive de 7 værdier i prometen for at se om den har fundet dem.

private void getEmp()    {
       
        try {
       
dbConnect dbc2 = new dbConnect();
Connection con2 = dbc2.getConnection();
Statement stmt2 = con2.createStatement();
ResultSet getEmp = stmt2.executeQuery("SELECT fname, mname, lname, cpr, adresse, emtime, wunder FROM employee WHERE cpr = '" + cprGui + "'");     
   
        while(getEmp.next()) {
           
            thefname = getEmp.getString(1);
            themname = getEmp.getString(2);
            thelname = getEmp.getString(3);
            thecpr = getEmp.getString(4);
            theadresse = getEmp.getString(5);
            theemtime = getEmp.getString(6);
            thewurder = getEmp.getString(7);

   
        }
       

        } catch (Exception e) {
  System.err.println(e);
}
       
       
    }

Problemet er at jeg ikke kan få JTextFileds til at indeholde disse værdier.. Har disse forskellige fields.

fnameIn = new javax.swing.JTextField();
mnameIn = new javax.swing.JTextField();
lnameIn = new javax.swing.JTextField();
cpr = new javax.swing.JTextField();
adresse = new javax.swing.JTextField();
emtime = new javax.swing.JTextField();
wurder = new javax.swing.JTextField();
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 10:42 #7
jeg har prøvet med fnameIn.setText(thefname); men jeg får nullpointer inde i metoden og det forstå jeg ikke når værdien findes i thefname
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 10:55 #8
Følgende virker heller ikke

    fnameIn.setText((String)getEmp.getString(1));
Avatar billede _carsten Nybegynder
11. april 2005 - 11:13 #9
Prøv lige denne

fnameIn.setText( (thefname == null ? "thefname er NULL" : thefname) );
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 13:45 #10
Får bare den samme fejl men skriver jeg dette kan den sagtens udskrive værdien for thefname:

System.err.print(thefname);
Avatar billede _carsten Nybegynder
11. april 2005 - 15:52 #11
Hvis du får samme fejl og der ikke skrives teksten "thefname er NULL" eller værdien af 'thefname' i dit JTextField fname, skyldes det at fname er null

Kan vi se noget mere/hele kode(n)??????
Avatar billede noerdar-dilling Nybegynder
26. maj 2005 - 23:36 #12
Fandt ud af det selv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester