carookee - group communication for you
Home / JavaForum / Swing + AWT
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.277 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 289 von 1460 (20%) |<   <   >   >|

Autor Harald Faber
Datum 08.08.03, 10:31
Betreff Sichtbarkeit von Variablen ;-)


    Zitat:
    Hallo zusammen,

    irgend etwas stimmt bei meinem jüngsten Programm nicht. Kompilieren läßt es sich, aber beim Ablauf gibt es eine NullPointerException sobald ich auf ein ganz bestimmtes Label zugreife um den Text bei Laufzeit verändern.

    Ich verwende folgenden Aufbau:
    -----------
    class BasisAusschnittScrollPane extends myBasicScrollPane implements ActionListener
    {
    JLabel lbl_Menschen, lbl_Konflikt;
    JToggleButton AutoKnopf;
    ...

    JPanel panel, Norden, Mitte, Sued;
    boolean Veraenderung=false;

    BasisAusschnittScrollPane() {
    super();
    ...
    Norden = new JPanel();
    Norden.setLayout(new GridLayout(1,2,5,5));

    lbl_Menschen=new JLabel("Insassen: ", SwingConstants.CENTER); //Anzeige erfolgt korrekt
    Norden.add(lbl_Menschen);
    JLabel lbl_Konflikt = new JLabel("Konflikt", SwingConstants.CENTER); //Anzeige erfolgt korrekt
    Norden.add(lbl_Konflikt);
    ...
    }

    und später eine öffentliche Methode

    public void showBasis(ObjektBasis basis_ein){
    ...
    lbl_Menschen.setText("Insassen: "+basis.getAnzahlInsassen()); //Anzeige erfolgt korrekt
    lbl_Konflikt.setVisible(false); //Bezugnahmen jeglicher Art werden von der Laufzeit verweigert
    ...
    }
    ----------------------

    Das lbl_Personen wird korrekt ausgegeben. Das lbl_Konflikt führt zum NullPointer. Sowohl wenn ein neuer Text übergeben werden soll, als auch wenn es num das Sichtbarschalten geht.

    Da habe ich zwei Objekte die ich gleich (und parallel) behandle. Die in einem Fall (und analog auch in anderen Dialogen) korrekt funktionieren. Aber in genau einem Fall irgendwie nicht erreichbar oder vorhanden ist.

    Habt ihr mir irgendwelche Anregungen was da falsch laufen könnte?

    danke
    exi
Jep. Du weist einmal in der Klasse ein JLabel lbl_Konflikt zu und einmal im Konstruktor: JLabel lbl_Konflikt = new JLabel(...);
D.h. im Konstruktor erzeugst Du ein anderes, eigenes (!) JLabel als das, worauf Du später in der public-Methode zugreifst.

Ändere im Konstruktor einfach die Zeile

JLabel lbl_Konflikt = new JLabel("Konflikt", SwingConstants.CENTER); //Anzeige erfolgt korrekt

um in

lbl_Konflikt = new JLabel("Konflikt", SwingConstants.CENTER); //Anzeige erfolgt korrekt

und alles wird gut. ;-)

Verstanden? Oder soll ich es noch mal etwas ausführlicher erklären?


Diskussionsverlauf:
Nullpointer Exception bei einem JLabel...
    Sichtbarkeit von Variablen ;-)
        im selbst geschaffenen Chaos den Überblick verloren :-)

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com