jTabbedPane mit jPanel füllen

Status
Nicht offen für weitere Antworten.

joschic

Mitglied
Hallo.
Ich habe folgendes Problem. Ich möchte, dass ich "Wachen" aus der Mysql Datenbank auslese und diese dann dynamisch in eine TabbedPane schreibe.
Also jPanel1 = Wachexyz und soweiter..
nun hatte ich auch schon einen Lösungsansatz nur dieser Wirft eine NullPointerEx. aus.
Code:
public void fahrzeug_daten(){
mysql_con fz_mysql = new mysql_con();

try{
         // SQL Verbindung herstellen, hier wird die Verbindungskennung con genutzt
         Connection con = fz_mysql.verbindung_herstellen();
        Statement  stmt = con.createStatement(); // Statement erstellen
    ResultSet rs = null;    // Speichern der Ergebniszeilen
 ResultSetMetaData metaData = null;
    
     rs = stmt.executeQuery("SELECT * FROM eok_fahrzeuge LEFT JOIN eok_wachen ON eok_fahrzeuge.wach_id = eok_wachen.ID LIMIT 1");
 
  int i=0;
  String wachen_name=null;
 while(rs.next()){
      wachen_name = rs.getString("eok_wachen.name");
      JPanel jP_wachen[] = new JPanel[300];
      jP_wachen[i].setName(wachen_name);

      jTp_fahrzeuge.addTab(wachen_name, jP_wachen[i]);
   i++;
      }
         } 
         catch(BatchUpdateException e) {
        String hans;
      hans = "Error BatchUpdateException";
      e.printStackTrace();
      }
 catch ( SQLException e ){
      String hans;
      hans = "Error SQLException";
    e.printStackTrace();
    }
 }

Ich hoffe ihr könnt mir helfen..
grüße
 

joschic

Mitglied
Bitteschön
Code:
16.01.2009 23:23:28 org.jdesktop.application.Application$1 run
SCHWERWIEGEND: Application class statusgeber.StatusgeberApp failed to launch
java.lang.NullPointerException
        at statusgeber.StatusgeberView.fahrzeug_daten(StatusgeberView.java:119)
        at statusgeber.StatusgeberView.<init>(StatusgeberView.java:32)
        at statusgeber.StatusgeberApp.startup(StatusgeberApp.java:19)
        at org.jdesktop.application.Application$1.run(Application.java:171)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread "AWT-EventQueue-0" java.lang.Error: Application class statusgeber.StatusgeberApp failed to launch
        at org.jdesktop.application.Application$1.run(Application.java:177)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.lang.NullPointerException
        at statusgeber.StatusgeberView.fahrzeug_daten(StatusgeberView.java:119)
        at statusgeber.StatusgeberView.<init>(StatusgeberView.java:32)
        at statusgeber.StatusgeberApp.startup(StatusgeberApp.java:19)
        at org.jdesktop.application.Application$1.run(Application.java:171)
        ... 8 more
BUILD SUCCESSFUL (total time: 1 second)
wollt ihr auch den Kompletten Code haben?
 

Wildcard

Top Contributor
Hier StatusgeberView.java:119 (Das steht für Klasse + Zeilennummer)
versuchst du einen null Pointer zu dereferenzieren (also zum Beispiel eine Variable zu verwenden die null ist).
 

Ebenius

Top Contributor
Poste mal die Methode StatusgeberView.fahrzeug_daten und schreib bitte dazu, welche Zeile die Zeile 119 ist!

Ebenius
 

joschic

Mitglied
Code:
public void fahrzeug_daten(){
mysql_con fz_mysql = new mysql_con();

try{
         // SQL Verbindung herstellen, hier wird die Verbindungskennung con genutzt
         Connection con = fz_mysql.verbindung_herstellen();
        Statement  stmt = con.createStatement(); // Statement erstellen
    ResultSet rs = null;    // Speichern der Ergebniszeilen
ResultSetMetaData metaData = null;
   
     rs = stmt.executeQuery("SELECT * FROM eok_fahrzeuge LEFT JOIN eok_wachen ON eok_fahrzeuge.wach_id = eok_wachen.ID LIMIT 1");

  int i=0;
  String wachen_name=null;
  JPanel jP_wachen[] = new JPanel[300];
while(rs.next()){
      wachen_name = rs.getString("eok_wachen.name");
      
      jP_wachen[i].setName(wachen_name);
      jTp_fahrzeuge.addTab(wachen_name, jP_wachen[i]);
      i++;
      }
         }
         catch(BatchUpdateException e) {
        String hans;
      hans = "Error BatchUpdateException";
      e.printStackTrace();
      }
catch ( SQLException e ){
      String hans;
      hans = "Error SQLException";
    e.printStackTrace();
    }
}
Zeile 20 ist im Programm Zeile 119
 

Ebenius

Top Contributor
Dieser Code führt zu einem Array mit 300 null-Elementen:
Code:
// Zeile 115:
JPanel jP_wachen[] = new JPanel[300];

Und hier versuchst Du diese nulls zu benutzen. Deshalb geht's schief.
Code:
// Zeile 119:
jP_wachen[i].setName(wachen_name);

// EDIT: Hmpf
 

joschic

Mitglied
hm. gut, dankeschön aufjedenfall schonmal.
Nur stehe ich gerade auf dem Schlauch, weil ich nicht weiß wie ich das Umsetzen kann, dass ich eine Dynamische Menge an jPanels erstellen kann. evtl einen Lösungsansatz für mich?
Dankeschön im Vorraus :)
grüße
 

Ebenius

Top Contributor
Dynamische Länge? Dann Collections. Den Inhalt musst Du aber trotzdem pro Element einzeln aufbauen. Zum Beispiel in der Schleife; z. B. sowas:
Code:
list.add(new JPanel());

Aber das findest Du schon noch raus!

Ebenius
 

joschic

Mitglied
Hey..
Danke, ich werde es mal ausprobieren, ich werde mich dann sicherlich nochmal melden :)
ihr habt echt nen top Forum hier!
grüße
 

joschic

Mitglied
Code:
18.01.2009 14:15:16 org.jdesktop.application.Application$1 run
SCHWERWIEGEND: Application class statusgeber.StatusgeberApp failed to launch
java.lang.NullPointerException
        at statusgeber.StatusgeberView.fahrzeug_daten(StatusgeberView.java:133)
        at statusgeber.StatusgeberView.<init>(StatusgeberView.java:37)
        at statusgeber.StatusgeberApp.startup(StatusgeberApp.java:19)
        at org.jdesktop.application.Application$1.run(Application.java:171)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread "AWT-EventQueue-0" java.lang.Error: Application class statusgeber.StatusgeberApp failed to launch
        at org.jdesktop.application.Application$1.run(Application.java:177)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.lang.NullPointerException
        at statusgeber.StatusgeberView.fahrzeug_daten(StatusgeberView.java:133)
        at statusgeber.StatusgeberView.<init>(StatusgeberView.java:37)
        at statusgeber.StatusgeberApp.startup(StatusgeberApp.java:19)
        at org.jdesktop.application.Application$1.run(Application.java:171)
        ... 8 more

Code:
public void fahrzeug_daten(){
mysql_con fz_mysql = new mysql_con();
List<JPanel> list = new ArrayList<JPanel>();
try{
         // SQL Verbindung herstellen, hier wird die Verbindungskennung con genutzt
         Connection con = fz_mysql.verbindung_herstellen();
        Statement  stmt = con.createStatement(); // Statement erstellen
    ResultSet rs = null;    // Speichern der Ergebniszeilen
ResultSetMetaData metaData = null;
   
     rs = stmt.executeQuery("SELECT * FROM eok_fahrzeuge LEFT JOIN eok_wachen ON eok_fahrzeuge.wach_id = eok_wachen.ID LIMIT 1");

  int i=0;
  String wachen_name=null;
 
while(rs.next()){
      wachen_name = rs.getString("eok_wachen.name")+" ";
      JPanel wachen = new JPanel();
      wachen.setName(wachen_name);
      wachen.setLayout(null);
      list.add(wachen);   
     }
   Iterator<JPanel> iter = list.iterator(); 

      while(iter.hasNext()){
       jTp_fahrzeuge.addTab("test",iter.next());<< Zeile 133
         }
        }
         catch(BatchUpdateException e) {
        String hans;
      hans = "Error BatchUpdateException";
      e.printStackTrace();
      }
catch ( SQLException e ){
      String hans;
      hans = "Error SQLException";
    e.printStackTrace();
    }
}

solangsam fühle ich mich verarscht..
grüße
 

Wildcard

Top Contributor
Jetzt ist dein Problem eben hier:
at statusgeber.StatusgeberView.fahrzeug_daten(StatusgeberView.java:133)
Schau nach was in Zeile 133 steht und überleg dir warum es null ist.
 

André Uhres

Top Contributor
joschic hat gesagt.:
solangsam fühle ich mich verarscht..
Ohne ersichtlichen Grund: wir sind immerhin weitergekommen.
Beim Debuggen ist es übrigens die Regel, daß sich nicht nur ein einziger Fehler eingeschlichen hat.
Möglicherweise ist jetzt jTp_fahrzeuge noch null, weil sie noch nicht erzeugt wurde.
 

joschic

Mitglied
Ich hab den Fehler dafür gefunden ^^
Ich habe die Methode vor initscomp. ausführen lassen. Was natürlich zu folge hatte, dass ich der jTp_fahrzeuge noch garnicht existierte.

Dankeschön euch alle :DDD

Code:
public void fahrzeug_daten(){
mysql_con fz_mysql = new mysql_con();
List<JPanel> list = new ArrayList<JPanel>();
try{
         // SQL Verbindung herstellen, hier wird die Verbindungskennung con genutzt
         Connection con = fz_mysql.verbindung_herstellen();
        Statement  stmt = con.createStatement(); // Statement erstellen
    ResultSet rs = null;    // Speichern der Ergebniszeilen
ResultSetMetaData metaData = null;
   
     rs = stmt.executeQuery("SELECT * FROM eok_fahrzeuge LEFT JOIN eok_wachen ON eok_fahrzeuge.wach_id = eok_wachen.ID ");

  int i=0;
  String wachen_name=null;

while(rs.next()){
      wachen_name = rs.getString("eok_wachen.name")+" ";
      JPanel wachen = new JPanel();
      wachen.setName(wachen_name);
         javax.swing.GroupLayout jP_wachenlayout = new javax.swing.GroupLayout(wachen);
        wachen.setLayout(jP_wachenlayout);
        jP_wachenlayout.setHorizontalGroup(
            jP_wachenlayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 512, Short.MAX_VALUE)
        );
        jP_wachenlayout.setVerticalGroup(
            jP_wachenlayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 358, Short.MAX_VALUE)
        );
        list.add(i,wachen);
        i++;
      
}
 Iterator<JPanel> iter = list.iterator(); 
       while(iter.hasNext()){
          JPanel iter2 = iter.next();
       jTp_fahrzeuge.addTab(iter2.getName(),iter2);
       System.out.println("Panel hinzugefügt: "+iter2.getName());
         }
 
        }
  
 
         catch(BatchUpdateException e) {
        String hans;
      hans = "Error BatchUpdateException";
      e.printStackTrace();
      }
catch ( SQLException e ){
      String hans;
      hans = "Error SQLException";
    e.printStackTrace();
    }
}

Joschi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Bestimmtes JPanel innerhalb eines JTabbedPane ansprechen AWT, Swing, JavaFX & SWT 2
A JFrame > JTabbedPane > JPanel > addKeyListener AWT, Swing, JavaFX & SWT 18
C Focuslistener bei JPanel im JTabbedPane AWT, Swing, JavaFX & SWT 3
D JTabbedPane & JPanel AWT, Swing, JavaFX & SWT 3
BabySuna darstellungsprobleme mit JTabbedPane und GridBagLayout AWT, Swing, JavaFX & SWT 8
I JTabbedPane mit DnD, [x]-Schaltfläche, [+]-Schaltfläche usw. AWT, Swing, JavaFX & SWT 1
D JScrollPane in JTabbedPane AWT, Swing, JavaFX & SWT 3
D Kein Icon beim JTabbedPane AWT, Swing, JavaFX & SWT 1
B JTabbedPane Tabs anordnen AWT, Swing, JavaFX & SWT 2
D JTabbedPane GUI Experimente AWT, Swing, JavaFX & SWT 4
N JLabel in JTabbedPane verschieben AWT, Swing, JavaFX & SWT 2
U JScrollPane -> JTabbedPane u.A. AWT, Swing, JavaFX & SWT 3
L JTabbedPane mit for Schleife aufbauen AWT, Swing, JavaFX & SWT 4
J JTabbedPane Vollbild wenn Tabwechsel AWT, Swing, JavaFX & SWT 1
B StateChangeListener auf JTabbedPane AWT, Swing, JavaFX & SWT 5
F jTabbedPane Tabwechsel deaktivieren AWT, Swing, JavaFX & SWT 2
J JTabbedPane: close Button Problem AWT, Swing, JavaFX & SWT 2
J JTabbedPane: table in new tab: tooltip benutzt die column-widths von table in erstem geöffneten tab AWT, Swing, JavaFX & SWT 17
M JTabbedPane verändern mit Nimbus Look and Feel AWT, Swing, JavaFX & SWT 1
F JTabbedPane bestimmten Tab ansprechen AWT, Swing, JavaFX & SWT 13
F JTabbedPane mit Button zum Hinzufügen eines neuen Tabs AWT, Swing, JavaFX & SWT 6
BRoll JTabbedPane setTitleAt OutOfBoundsExc AWT, Swing, JavaFX & SWT 4
K JTabbedPane Tab Markierung / Selektion AWT, Swing, JavaFX & SWT 4
B Custom JTabbedPane-Tab-Design AWT, Swing, JavaFX & SWT 2
L JTabbedPane Closebutton integrieren AWT, Swing, JavaFX & SWT 6
J JTabbedPane Grafik unterhalb der Tabs AWT, Swing, JavaFX & SWT 3
H Swing JTabbedPane: Zusätzliche Buttons neben den Tabs AWT, Swing, JavaFX & SWT 7
V JTabbedPane Eingefügte Labels verschoben AWT, Swing, JavaFX & SWT 2
M Swing JTabbedPane: Tab-Elemente anpassen AWT, Swing, JavaFX & SWT 3
S Swing JTabbedPane: Nur nach ButtonClick und nicht nach Click auf Tab ins nächste Tab wechseln AWT, Swing, JavaFX & SWT 2
P JTabbedPane per Menuitem erstellen AWT, Swing, JavaFX & SWT 20
K Swing JTabbedPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 19
B Swing JTabbedPane in JApplet -> Reiter bei Aktualisation mehrmals zu sehen AWT, Swing, JavaFX & SWT 3
M JTabbedPane -> setSelectedIndex funzt nicht AWT, Swing, JavaFX & SWT 3
M jtabbedpane aktivieren/deaktivieren AWT, Swing, JavaFX & SWT 13
J Swing Letzten Tab einer JTabbedPane ermitteln AWT, Swing, JavaFX & SWT 6
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
hdi LookAndFeel Nimbus BUG mit JTabbedPane?! AWT, Swing, JavaFX & SWT 5
hdi Swing Problem mit JTabbedPane AWT, Swing, JavaFX & SWT 2
A LookAndFeel Rollover Effekt bei JTabbedPane deaktivieren (Nimbus) AWT, Swing, JavaFX & SWT 8
T Inhalt von einem Tab an JTabbedPane größe ausrichten? AWT, Swing, JavaFX & SWT 2
S JTabbedPane Problem AWT, Swing, JavaFX & SWT 3
S JTabbedPane AWT, Swing, JavaFX & SWT 4
D JTabbedPane mit Eventlistener versehen? AWT, Swing, JavaFX & SWT 9
M Swing JTabbedPane Panels deaktivieren AWT, Swing, JavaFX & SWT 2
K JTabbedPane setName() für jedes Tab AWT, Swing, JavaFX & SWT 2
G JTabbedPane - Länge der Reiter beeinflussen? AWT, Swing, JavaFX & SWT 9
G Swing JTabbedPane Was für ein Border wird da um die Tabs gezeichnet? AWT, Swing, JavaFX & SWT 6
S Swing Komponentengröße in JTabbedPane AWT, Swing, JavaFX & SWT 7
M Ein Tab eine JTabbedPane durch Button Druck öffen AWT, Swing, JavaFX & SWT 2
Y LookAndFeel JTabbedPane: Tab-Farbe mit Nimbus setzen AWT, Swing, JavaFX & SWT 3
M CloseButton bei JTabbedPane AWT, Swing, JavaFX & SWT 4
P Swing JTabbedPane mit JButton einen anderen Tab anzeigen AWT, Swing, JavaFX & SWT 9
D JTabbedPane zentrieren AWT, Swing, JavaFX & SWT 2
S Swing JTabbedPane: Inhalt soll oben links anfangen AWT, Swing, JavaFX & SWT 6
Mike90 JTabbedPane Größe anpassen AWT, Swing, JavaFX & SWT 17
F JTabbedPane Reiter breite AWT, Swing, JavaFX & SWT 4
B JTabbedPane mit Enumeration dynamisch füllen AWT, Swing, JavaFX & SWT 5
D Swing Tab in JTabbedPane AWT, Swing, JavaFX & SWT 5
D JTabbedPane - Farbe ändern im Bereich hinter den Reitern AWT, Swing, JavaFX & SWT 2
M JTabbedPane - Tab auslesen AWT, Swing, JavaFX & SWT 2
H Swing Problem mit JTabbedPane AWT, Swing, JavaFX & SWT 9
D jtabbedpane Event VOR tab-Wechsel AWT, Swing, JavaFX & SWT 3
S Border von JTabbedpane-Tab? AWT, Swing, JavaFX & SWT 3
M JTabbedPane Docable? AWT, Swing, JavaFX & SWT 3
L Swing JTabbedPane - Index vom Tab AWT, Swing, JavaFX & SWT 3
D Swing JTabbedPane, TabComponent & Popup AWT, Swing, JavaFX & SWT 4
F Borders von JTabbedPane und JScrollPane AWT, Swing, JavaFX & SWT 5
W JTabbedPane Größe anpassen AWT, Swing, JavaFX & SWT 4
G Swing JTabbedPane vergrößern AWT, Swing, JavaFX & SWT 2
H Swing Register (jTabbedPane) dynamisch hinzufügen? AWT, Swing, JavaFX & SWT 7
D Tabs von JTabbedPane stylen AWT, Swing, JavaFX & SWT 6
U JTabbedPane: Layout-Probleme bei addTab zur Laufzeit AWT, Swing, JavaFX & SWT 2
1 JTabbedPane Tab ausdehnen AWT, Swing, JavaFX & SWT 3
F Swing JTabbedPane: Zur Laufzeit die Tabreihenfolge ändern AWT, Swing, JavaFX & SWT 2
M Elemente in JTabbedPane platzieren AWT, Swing, JavaFX & SWT 7
B Swing JFormattedTextField auf mehreren JPanels in einer JTabbedPane AWT, Swing, JavaFX & SWT 3
K LookAndFeel JTabbedPane mit Icon und CloseButton AWT, Swing, JavaFX & SWT 2
D Swing Probleme bei mit JTabbedPane.getChildren() AWT, Swing, JavaFX & SWT 4
I Swing Randnutzung bei JTabbedPane.LEFT AWT, Swing, JavaFX & SWT 2
ABstraCT JTabbedPane - click wird nicht immer ausgeführt ! AWT, Swing, JavaFX & SWT 10
P JTabbedPane und fill? AWT, Swing, JavaFX & SWT 2
D Swing mehrere JTable in separaten Tabs einer JTabbedPane AWT, Swing, JavaFX & SWT 2
G JTabbedPane transparent AWT, Swing, JavaFX & SWT 2
S Swing JTabbedPane: Resize des JFrame bei Tab wechsel AWT, Swing, JavaFX & SWT 8
thE_29 Swing JTabbedPane Focus von Komponenten außerhalb AWT, Swing, JavaFX & SWT 10
S Scrollbar in einem JTabbedPane AWT, Swing, JavaFX & SWT 4
A Schriftfarbe von jTabbedPane und Button Ändern AWT, Swing, JavaFX & SWT 7
R JTabbedPane Selektion verfolgen? AWT, Swing, JavaFX & SWT 2
byte JTabbedPane - Insets entfernen AWT, Swing, JavaFX & SWT 7
S JTabbedPane child setBounds AWT, Swing, JavaFX & SWT 4
A JTable im JTabbedPane -> Überschriften werden nicht angez AWT, Swing, JavaFX & SWT 2
V Extended JTabbedPane AWT, Swing, JavaFX & SWT 7
V JTabbedPane - keine "Focus"-Box auf selektiertem T AWT, Swing, JavaFX & SWT 2
G JTabbedPane wird groesser wenn man anderen Tab auswaehlt. AWT, Swing, JavaFX & SWT 2
A JTabbedPane Tabwechsel rausfinden AWT, Swing, JavaFX & SWT 2
O JTabbedPane - Selected Color? AWT, Swing, JavaFX & SWT 1
T Wie aktualisiere ich die Contents einer JTabbedPane? AWT, Swing, JavaFX & SWT 3
G JTabbedPane zentiert alles AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben