Avatar billede sbay Nybegynder
03. december 2001 - 19:01 Der er 18 kommentarer og
1 løsning

Visning af data i textfield

Hvordan får man vist data fra en arraylist, i et textfield???

Nedenstående virker ikke!

public void actionPerformed(ActionEvent e) {
    if (e.getSource() == ÅBEN) {
      Kunde k = liste.åbenKunde();
      //if (k == null)
        throw (new NullPointerException());
    tNr.setText(k.hentNavn());
    tNavn.setText(k.hentNummer());
    tTlfNr.setText(k.hentTelefon());
}
Avatar billede erikjacobsen Ekspert
03. december 2001 - 20:06 #1
Hvordan ser liste.åbenKunde() ud?
Avatar billede sbay Nybegynder
03. december 2001 - 20:13 #2
liste.åbenkunde():

public Kunde åbenKunde() {
    Kunde k = (Kunde)kunder.get(0);
    return k;
    }

Fejlmeddelelse ved tryk på åbenknappen i grænsefladen:

Exception occurred during event dispatching:
java.lang.NullPointerException
    java.lang.Throwable()
    java.lang.Exception()
    java.lang.RuntimeException()
    java.lang.NullPointerException()
    void grænsefladehåndtering.KundeGUI$GUIController.actionPerformed(java.awt.event.ActionEvent)
    void grænsefladehåndtering.KundeGUI$GUIController.actionPerformed(java.awt.event.ActionEvent)
    void javax.swing.AbstractButton.fireActionPerformed(java.awt.event.ActionEvent)
    void javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(java.awt.event.ActionEvent)
    void javax.swing.DefaultButtonModel.fireActionPerformed(java.awt.event.ActionEvent)
    void javax.swing.DefaultButtonModel.setPressed(boolean)
    void javax.swing.plaf.basic.BasicButtonListener.mouseReleased(java.awt.event.MouseEvent)
    void java.awt.Component.processMouseEvent(java.awt.event.MouseEvent)
    void java.awt.Component.processEvent(java.awt.AWTEvent)
    void java.awt.Container.processEvent(java.awt.AWTEvent)
    void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent)
    void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
    void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
    void java.awt.LightweightDispatcher.retargetMouseEvent(java.awt.Component, int, java.awt.event.MouseEvent)
    boolean java.awt.LightweightDispatcher.processMouseEvent(java.awt.event.MouseEvent)
    boolean java.awt.LightweightDispatcher.dispatchEvent(java.awt.AWTEvent)
    void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
    void java.awt.Window.dispatchEventImpl(java.awt.AWTEvent)
    void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
    void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent)
    boolean java.awt.EventDispatchThread.pumpOneEvent()
    void java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional)
    void java.awt.EventDispatchThread.run()

Avatar billede erikjacobsen Ekspert
03. december 2001 - 20:15 #3
Mon ikke du så i stedet for

//if (k == null)
    throw (new NullPointerException());

skal skrive

//if (k == null)  throw (new NullPointerException());
Avatar billede sbay Nybegynder
03. december 2001 - 20:16 #4
Det var en fejl i den kopierede kode - den er rettet, men det gør ingen forskel???
Avatar billede erikjacobsen Ekspert
03. december 2001 - 20:21 #5
Har du puttet noget i din liste. Hvis den er tom sker der sikkert det du skriver.
Vis evt. den kode, der putter noget i.
Avatar billede sbay Nybegynder
03. december 2001 - 20:27 #6
Køres det som consolapp. virker det fint!!

List kunder = new ArrayList();
   
listIterator it = kunder.listIterator();
kunder.add(new Kunde(\"1\", \"Rikke\", \"25327035\"));
kunder.add(new Kunde(\"2\", \"Søren\", \"21926316\"));
kunder.add(new Kunde(\"5\", \"Peter\", \"75644301\"));
kunder.add(new Kunde(\"10\", \"Mette\", \"75641822\"));
Avatar billede erikjacobsen Ekspert
03. december 2001 - 20:29 #7
Jamen, det er jo ikke hele koden. Jeg kan ikke se hvor erklæringen
af kunder står i dit program. Vis en hel metode af gangen
Avatar billede sbay Nybegynder
03. december 2001 - 20:40 #8
import java.util.*;

public class KundeListe {
   
List kunder = new ArrayList();
   
ListIterator it = kunder.listIterator();
   
}
       
public void KundeTabel()  {
   
kunder.add(new Kunde(\"1\", \"Rikke\", \"25327035\"));
kunder.add(new Kunde(\"2\", \"Søren\", \"21926316\"));
kunder.add(new Kunde(\"5\", \"Peter\", \"75644301\"));
kunder.add(new Kunde(\"10\", \"Mette\", \"75641822\"));
    }

public Kunde åbenKunde() {
    //if (kunder.get(0) == null)
    //throw (new nullPointerException());
Kunde k = (Kunde)kunder.get(0);
return k;
    }
Avatar billede erikjacobsen Ekspert
03. december 2001 - 20:52 #9
Sikke en masse gode telefonnumre vi får :)

Kalder du nogensinde KundeTabel()-metoden - eller tror du at den
er en constructor til KundeListe-klassen? Det er den ikke.
Avatar billede sbay Nybegynder
03. december 2001 - 20:57 #10
Jeg lavede den om til public void kundeTabel(), da det ikke virkede at ligge det i en constructor.
Er det ok, at ligge det i void KundeTabel, hvis jeg kalder kundeTabel()??
Avatar billede erikjacobsen Ekspert
03. december 2001 - 21:00 #11
Hvis du kalder metoden, er det da ok. Men det virker da også i en
constructor, bare du skriver den korrekt:

  public KundeListe() { ... }
Avatar billede sbay Nybegynder
03. december 2001 - 21:09 #12
Dette virker heller ikke....

public class KundeListe {
   
    List kunder = new ArrayList();
   
    ListIterator it = kunder.listIterator();
   
}

public KundeListe()  {

       
       
kunder.add(new Kunde(\"1\", \"Rikke\", \"25327035\"));
kunder.add(new Kunde(\"2\", \"Søren\", \"21926316\"));
kunder.add(new Kunde(\"5\", \"Peter\", \"75644301\"));
kunder.add(new Kunde(\"10\", \"Mette\", \"75641822\"));
}
public Kunde åbenKunde() {
    Kunde k = (Kunde)kunder.get(0);
    return k;
    }
Avatar billede erikjacobsen Ekspert
03. december 2001 - 21:13 #13
Siger du så new til din liste-variabel ?
Avatar billede sbay Nybegynder
03. december 2001 - 21:24 #14
Nej, det havde jeg glemt.... Og nu virker det - 1000 tak.
Men hvorfor behøves jeg så ikke, at sige new til min kunde-variabel??

private Kunde kunde;
private KundeListe liste = new KundeListe();   
         
public void actionPerformed(ActionEvent e) {
  if (e.getSource() == ÅBEN) {
    Kunde k = liste.åbenKunde();
    tNr.setText(k.hentNavn());
    tNavn.setText(k.hentNummer());
    tTlfNr.setText(k.hentTelefon());
            }
Avatar billede erikjacobsen Ekspert
03. december 2001 - 21:33 #15
du bruger den sikkert ikke til noget
Avatar billede sbay Nybegynder
03. december 2001 - 21:35 #16
Du bliver nødt til at lave et svar for at få point!
Avatar billede erikjacobsen Ekspert
03. december 2001 - 22:37 #17
Jeg skal ikke have points
Avatar billede sbay Nybegynder
27. januar 2002 - 16:51 #18
f
Avatar billede sbay Nybegynder
27. januar 2002 - 16:52 #19
f
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