neues gui hinzugefügt .... jetzt gehts nicht mehr

Status
Nicht offen für weitere Antworten.
J

javaneuling

Gast
mein problem ist ich habe ein programm mit mainclass erstellt und bin erst später draufgekommen dass dies gar nicht die richtige main class ist, sondern ich noch eine andere erstellen muss!

die erste von mir erstellte main klasse hatte ein paar buttons wie vor und zurück und es funktionierte alles prima!

doch jetzt hab ich eine neue einstiegs gui wo ich erst auf die erst main klasse verweise(hab das public static void main ....... einfach in den actionperformed teil meines neuen guiteils kopiert) .. und nichts geht mehr!!

wenn ich jetzt das programm aufrufe hab ich 2 buttons zur verfügung ich drücke auf den öffnen-button und die alte main class wird ganz normal geöffnet nur sobald ich einen der vor oder zurück buttons betätige, bekomme ich eine Null pointer Exception... was mach ich bloß falsch!! ich probiers jetzt schon ein paar tage!!

is es vielleicht deswegen weil das einstiegsformular nach betätigen des öffnen buttons trotzdem aktiv bleibt??

mfg chris
 
B

Beni

Gast
Kannst Du mal ein bisschen Code posten? (die Mainklassen wären sehr interessant)
Eine Fernanalyse ist sonst recht schwierig.

mfg Beni
 
J

javaneuling

Gast
das ist das neue hauptformular!!


Code:
/*
 * main.java
 *
 * Created on 27. Februar 2004, 08:30
 */

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import java.lang.*;

 public class RCStart extends JFrame  {
   
    static RedCrossAdmin rc;
    static RedCrossGUI gui;
    static RCStart rcs;
     Button schalter;
     Button schalter1;
     JLabel tfeld;
     Container cp;
     
        static Unfall []       unfall;
        static int maxUnfall      = 2000;
        static int unfallAnzahl      = 0;       // aktuelle Patientenanzahl im Array (einsbasiert)
        int        UNr               = 0;       // aktuelle PatientenNr (nullbasiert)
        int aktUNr;
        static boolean cflag         = false;   // Flag: gespeichert?
        static boolean cancelled     = false;
     
    public RCStart() {
        
        super();
       
        Container cp = getContentPane();
       
        setTitle("Willkommen auf RedCrossMyAdmin");
        setSize(640,480);
        setBackground(Color.LIGHT_GRAY);
        
        schalter = new Button("Neuer Unfall");
        schalter.setSize(100,50);
        schalter.setLocation(250,175);
        schalter.setBackground(Color.GRAY);
        cp.add(schalter);
        schalter.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

Nr = 1;              
                rc = new RedCrossAdmin();               
                gui = new RedCrossGUI (rc);     
      
                //unfall = new Unfall [ maxUnfall ];  
           
                //rc.zeigeUnfall(Nr)
                
            }
        });
        
        schalter1 = new Button("Neues Team");
        schalter1.setSize(100,50);
        schalter1.setLocation(100,175);
        schalter1.setBackground(Color.GRAY);
        cp.add(schalter1);
        
        tfeld = new JLabel("EingabeFenster");
        cp.add(tfeld);
       
       addWindowListener(new WindowLauscher());
    }
    
        protected static final class WindowLauscher extends WindowAdapter {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
    }
   
    public static void main(String[] args) {
        
      RCStart hauptfenster = new RCStart();
      hauptfenster.setSize(500,350);
      hauptfenster.setLocation(250, 250);
      hauptfenster.show();
    
    }
   
 }


das ist das alte main ,ihr müßt euch halt ein public static void main da drin vorstelelen dann würds gehn, das was ich bei action performed aufgerufen hab is da vorher dringestanden:

Code:
/*
 * RedCrossAdmin.java
 *
 * Created on 27. Jänner 2004, 15:02
 */

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import java.lang.*;

public class RedCrossAdmin implements ActionListener {
    
        static RedCrossAdmin    rc;
        static RedCrossGUI      gui;
        static EingabeDialogUnfall         edu1;
        static EingabeDialogTeam           edt;
        static Unfall []       unfall;
        static int maxUnfall      = 2000;
        static int unfallAnzahl      = 0;       // aktuelle Patientenanzahl im Array (einsbasiert)
        int        UNr               = 0;       // aktuelle PatientenNr (nullbasiert)
        int aktUNr;
        static boolean cflag         = false;   // Flag: gespeichert?
        static boolean cancelled     = false; // Flag: Eingabedialog abgebrochen?
        int nr                       = 1;
     
        String db = "jdbc:mysql://localhost/redcrossadmin";
        String user = "root";
        String pw = "rca";
        Connection verbindung = null;
        Statement stmt = null;
        
            
       
    // Listener-Methode /////////////////////////////////////

    public void actionPerformed(ActionEvent e)  {
        
            Object source = e.getSource();
        
             if (source == gui.p.b0) {  // Vorherigen Unfall anzeigen  
                 
                zeigeUnfall(nr);
                
                nr--;
               
              //  System.out.println(nr);
                  
             }
            
             if (source == gui.p.b1) {  // nächsten Unfall anzeigen                              
               
                 zeigeUnfall(nr);
                
                nr++;
                
               //  System.out.println(nr);
              
             }
               
               ////////////////////////////////////////////////////////////////
            // Kundendatei Filedialog

            if (source == gui.oeffnen) {    // Kundendatei laden
                FileDialog d = new FileDialog(gui, "öffnen", FileDialog.LOAD);
                d.setFile("*.dat");
                d.show();
                String filename = d.getFile();
                String dirname  = d.getDirectory();
                
            }
            if (source == gui.speichern) {  // Kundendatei speichern
                FileDialog d = new FileDialog(gui, "speichern", FileDialog.SAVE);
                d.setFile("*.dat");
                d.show();
                String filename = d.getFile();
                String dirname  = d.getDirectory();
              
            }

            //////////////////////////////////////////////////////////////////
            // Programm beenden

            if (source == gui.ende) {

                int sel=JOptionPane.showConfirmDialog(gui,
                                    "Möchten Sie das Programm \nwirklich beenden?","Ende . . .",0);
                if (sel==0) {
                    System.exit(0);
                }
          }

     ////////////////////////////////////////////////////////////////
     // Neuer Unfall

            if (source == gui.p.b2) {
                gui.dialogUnfall = new EingabeDialogUnfall( gui ); // Eingabedialog-Fenster
				gui.dialogUnfall.show();                               
		
            }
    
             if (source == gui.p.b3) {
                gui.dialogTeam = new EingabeDialogTeam( gui ); // Eingabedialog-Fenster
				gui.dialogTeam.show();                               

            }
    
    }     
    
      ////////////////////////////////////////////////////////////////////////////
      // FUNKTIONEN
      ////////////////////////////////////////////////////////////////////////////

      ///////////////////////////////////////////////////////
      // Neuen Unfall anlegen

      public void neuerUnfall() {
          
            ++unfallAnzahl;
            gui.p.b0.setEnabled(true);
            gui.p.b1.setEnabled(true);
            gui.p.tf0.setText(""+(unfallAnzahl));
            String abfahrt    = gui.dialogUnfall.tf1a.getText();
            Object art     = gui.dialogUnfall.combo.getSelectedItem();
            String auto = gui.dialogUnfall.tf2a.getText();
            String ort = gui.dialogUnfall.tf3a.getText();
            String name = gui.dialogUnfall.tf4a.getText();
            String bemerkung = gui.dialogUnfall.ta1a.getText();
            String ankunft     = gui.dialogUnfall.tf5a.getText();           
      }        

      ///////////////////////////////////////////////////////
      // Einen Unfall anzeigen

      public int zeigeUnfall(int aktUNr)  {

         //aktUNr = 1;
          
          try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
            System.err.println("Kann Treiber nicht laden");
        }
        try {
            verbindung = DriverManager.getConnection (db, user, pw);
            stmt = verbindung.createStatement();
        } catch (Exception e) {
            System.err.println("Zur Zeit keine Verbindung möglich");
        }
                 
            try {                                 
              Statement stmt = verbindung.createStatement();
              ResultSet result = stmt.executeQuery
              ("SELECT Unfallnummer, AbfahrtsZP, Auto, Ort, Art, Name, Bemerkung, AnkunftsZP FROM redcrossadmin " +
               "WHERE Unfallnummer='"+aktUNr+"'");  
              
              result.next();
              
              aktUNr = result.getInt("Unfallnummer");
              gui.p.tf0.setText(result.getString("Unfallnummer"));
              gui.p.tf1.setText(result.getString("AbfahrtsZP"));
              gui.p.tf2.setText(result.getString("Auto"));
              gui.p.tf3.setText(result.getString("Ort"));
              gui.p.tf4.setText(result.getString("Art"));
              gui.p.tf5.setText(result.getString("Name"));
              gui.p.ta06.setText(result.getString("Bemerkung"));
              gui.p.tf6.setText(result.getString("AnkunftsZP"));              
                                     
            } catch (Exception e) {
                //System.out.println("Keine Daten mehr vorhanden! " );
                
                JOptionPane.showMessageDialog(gui,
                                    "Kein weiterer Datensatz verfügbar!","RedCrossAdmin-Fehler",JOptionPane.INFORMATION_MESSAGE,null);
 
              if(nr<2)
                  nr=2;
                
              if(nr>2)
                    nr=nr-2;
                
            }   
          
          return aktUNr;
      }
}

wenn ihr es kompilieren wollt wirds nicht gehn da ihr ja nicht die db von mir verwenden!!

zum schluss hat gar kein button mehr gefunzt!!

das programm besteht aus weiteren klassen: EingabeDialogUnfall, EingabeDialogTEAm usw.

ich kenn mich leider nicht so gut aus in java würd mich freuen wenn ihr mir helfen könntet

danke im voraus

chris
 
B

Beni

Gast
Wow, "übersichtlich" nenn ich das nicht gerade... :?

Die komplette Ausgabe der Exception(s) könnte noch helfen.

Diesen Wurstcode :wink: durchschaue ich leider nicht so ganz (ohne Compiler).

mfg Beni
 
G

Guest

Gast
hi beni was meinst du mit kompletter ausgabe der exceptions??
 
C

Cello

Gast
ich denke Beni meint sowas:

Code:
try{
//Anweisungen
} catch (Exception e){
//Anweisungen
e.printStackTrace();
}

und dann mal die Ausgabe vom PrintStackTrace posten
 
G

Guest

Gast
sorry ich kriegs echt nicht besser hin

hm

java.lang.NullPointerException

at RedCrossAdmin.actionPerformed(RedCrossAdmin.java:44)

das steht da!!

ohne das RCStart hat es früher immmer funktioniert

mfg chris
 
B

Beni

Gast
Ich denke, gui ist null.
Denn: RCStart.gui ist nicht RedCrossAdmin.gui.

Code:
schalter.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {

      Nr = 1;             
      rc = new RedCrossAdmin();               
      gui = new RedCrossGUI (rc);     

>>      // an dieser Stelle ist rc.gui == null

>>      RedCrossAdmin.gui = gui;

>>      // jetzt ist rc.gui nicht mehr null

     
      //unfall = new Unfall [ maxUnfall ]; 
           
      //rc.zeigeUnfall(Nr)
               
  }
});

Anyway, sehr Objektorientiert ist das schon nicht.
Versuch doch etwas weniger "static" zu verwenden. Wird das Leben leichter machen :wink:
 
G

Guest

Gast
danke es funzt wirklich obwohl ichs nicht versteh warum!!

mfg chris
 
B

Beni

Gast
Du gehst davon aus, dass es nur ein "static RedCrossGUI gui" gibt. Aber das stimmt nicht.
Es gibt zwei verschiedene Versionen von "gui", eine Version ist mit der Klasse RCStart verbunden, die andere mit RedCrossAdmin

Das static bedeutet, dass RCStart.gui und RedCrossAdmin.gui je nur einmal vorkommt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J neues Object (JLabel) vorab zum Layout hinzufügen , Location setzen, etc? Java Basics - Anfänger-Themen 2
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J Array vertauschen ohne ein neues anzulegen?! Java Basics - Anfänger-Themen 10
W Neues Lern-Projekt gesucht Java Basics - Anfänger-Themen 8
B Erste Schritte nio oder io für neues Projekt Java Basics - Anfänger-Themen 1
AnnaBauer21 org.w3c.dom.Element - Neues Element hinzufügen Java Basics - Anfänger-Themen 4
C Neues Objekt mit Beziehung zu bereits bestehendem Objekt Java Basics - Anfänger-Themen 4
T Erste Schritte Totaler Noob in Java will was neues lernen Java Basics - Anfänger-Themen 22
E Knopfdruck neues Fenster öffnen Java Basics - Anfänger-Themen 5
F Verweis oder neues Objekt? Java Basics - Anfänger-Themen 8
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
F Neues Objekt oder nur ein Verweis? Java Basics - Anfänger-Themen 5
K Erste Schritte Neues Fenster mit Textinhalt öffnen Java Basics - Anfänger-Themen 6
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
L OOP Neues Objekt bei jeder Eingabe erstellen (Objekte speichern?) Java Basics - Anfänger-Themen 10
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
J char-Array rückwärts ausgeben und in neues Char-Array speichern Java Basics - Anfänger-Themen 3
P Array reversed in ein neues Array Java Basics - Anfänger-Themen 5
P Vererbung Neues Objekt aus Vorlage erzeugen Java Basics - Anfänger-Themen 1
F Neues Panel und Button unsichtbar Java Basics - Anfänger-Themen 10
M Beim Klicken auf X neues Fenster Java Basics - Anfänger-Themen 4
S Neues Fenster auf Knopfdruck Java Basics - Anfänger-Themen 12
J Button drücken neues Fenster?! Java Basics - Anfänger-Themen 5
M Neues Objekt erzeugen mit Klassennamen oder ohne Java Basics - Anfänger-Themen 5
I Neues Klassenobjekt nicht "ansprechbar" Java Basics - Anfänger-Themen 5
C Button - neues Fenster - Bestellung anzeigen Java Basics - Anfänger-Themen 10
M Neues Objekt? Java Basics - Anfänger-Themen 6
K Neues Bild bei eingabe bestätigung erscheinen Java Basics - Anfänger-Themen 21
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
D Design-Tipps für neues Programm (Excel-Charts-...) Java Basics - Anfänger-Themen 3
M Neues Fenster Java Basics - Anfänger-Themen 2
S Innerhalb eines Fensters ein neues erschaffen Java Basics - Anfänger-Themen 7
D aus einem einzeiligen String ein neues Objekt erstellen Java Basics - Anfänger-Themen 5
K neues Fenster mit Button öffnen Java Basics - Anfänger-Themen 17
D Neues Frame öffnen Java Basics - Anfänger-Themen 7
M Neues Objekt erstellen Java Basics - Anfänger-Themen 3
P neues Objekt Java Basics - Anfänger-Themen 4
J Neues Forum Thema erstellen mit java(httpclient) Java Basics - Anfänger-Themen 11
D Neues Objekt in Methode erstellen möglich? Java Basics - Anfänger-Themen 5
M Neues Fenster öffnen altes schützen Java Basics - Anfänger-Themen 10
S mit clickevent neues formular öffnen Java Basics - Anfänger-Themen 2
K Neues Fenster Öffnen? Java Basics - Anfänger-Themen 18
F jTable - neues Element vorher auf existenz Prüfen Java Basics - Anfänger-Themen 7
B neues Objekt erzeugen Java Basics - Anfänger-Themen 7
E Neues Java Fenster öffnen Java Basics - Anfänger-Themen 4
D Neues ContentPane öffnen Java Basics - Anfänger-Themen 3
B neues Problem! Java Basics - Anfänger-Themen 14
G JSP ohne neues Fenster aufrufen. Java Basics - Anfänger-Themen 8
S neues Objekt benennen Java Basics - Anfänger-Themen 3
I Probleme bei "Neues Spiel" Java Basics - Anfänger-Themen 3
P Neues Fenster ueber Hauptfenster Java Basics - Anfänger-Themen 4
T Möchte ein neues Objekt erzeugen mit Wert von anderem Objekt Java Basics - Anfänger-Themen 9
L Wie kann ich auch in einem ActionListener ein neues java Pro Java Basics - Anfänger-Themen 8
gurgi mit button neues Frame öffnen Java Basics - Anfänger-Themen 7
G Neues File mit vorgegebenen Einstellungen erstellen? Java Basics - Anfänger-Themen 7
G neues Objekt der Klasse eines anderen Objekts Java Basics - Anfänger-Themen 3
T Panel entfernen, neues hinzufügen Java Basics - Anfänger-Themen 2
D neues Fenster in GUI Java Basics - Anfänger-Themen 2
S Methode soll ein neues Objekt vom Typ Class XYZ Java Basics - Anfänger-Themen 7
G neues String Array in super() übergeben Java Basics - Anfänger-Themen 3
S vom button ein neues fenster öffnen Java Basics - Anfänger-Themen 1
L neues Fenster und Hauptfenster sperren Java Basics - Anfänger-Themen 11
N Open Source für Anfänger, neues Projekt-> Interesse? Java Basics - Anfänger-Themen 36
I Neues Spiel starten Java Basics - Anfänger-Themen 9
K Neues Fenster per Buttonklick, Texteingabe speichern Java Basics - Anfänger-Themen 9
S Problem neues Objekt erzeugen Java Basics - Anfänger-Themen 4
M removeAll() und neues Hinzufügen Java Basics - Anfänger-Themen 2
A neues Objekt in main methode erstellen Java Basics - Anfänger-Themen 2
N Wie öffne ich ein neues Applet? Java Basics - Anfänger-Themen 4
G neues Paket importieren Java Basics - Anfänger-Themen 2
M [SOLVED]private Daten head - neues objekt? Java Basics - Anfänger-Themen 12
R Spieleprogrammierung Menüeintrag "Neues Spiel" Java Basics - Anfänger-Themen 2
G Neues Bild bei MouseOver Java Basics - Anfänger-Themen 2
X GUI: neues Panel in einer Applikation anzeigen lassen Java Basics - Anfänger-Themen 2
R Gui + neues Fenster Java Basics - Anfänger-Themen 8
bernd Neues JFrame erzeugen? Java Basics - Anfänger-Themen 8
S Neues Fenster/Panel nach Knopfdruck Java Basics - Anfänger-Themen 2
M Kann neues Servlet nicht hinzufügen Java Basics - Anfänger-Themen 5
S in einem PopUp ein neues Popup erzeugen? Java Basics - Anfänger-Themen 5
B Bungeecord | ProxiedPlayer wird nicht in ArrayList hinzugefügt Java Basics - Anfänger-Themen 1
kirchrath Wegpunkt wird nicht zur History einer Tiefensuche hinzugefügt Java Basics - Anfänger-Themen 2
G JFrame schliesst nicht mehr wenn Component hinzugefügt Java Basics - Anfänger-Themen 3
N Verständnisfrage - zu was wird es hinzugefügt? Java Basics - Anfänger-Themen 9
L Wie herausfinden ob JList Elemente hinzugefügt wurden? Java Basics - Anfänger-Themen 6
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
S Ist JDK jetzt free oder nicht? Java Basics - Anfänger-Themen 5
J Erste Schritte Java-Grundkenntnisse vorhanden, wie jetzt loslegen?! Java Basics - Anfänger-Themen 7
D Guten Tag mache gerade eine Umschulung zum FiSi war leider jetzt 2 Wochen Krank und wir hatten Prozendurale Programmierung. Java Basics - Anfänger-Themen 3
T Variablen PHP Array jetzt für Java Java Basics - Anfänger-Themen 1
C Wie kann ich jetzt von der Game.java auf die Timer.java zugreifen? Java Basics - Anfänger-Themen 6
G Java Grundkenntnisse - und jetzt? Java Basics - Anfänger-Themen 8
W ProcessBuilder Problem -->gelöst - - Jetzt JEditorPane Problem Java Basics - Anfänger-Themen 6
P DotComVersenken -Spiel im Schiffeversenken-Stil - erstellen- Komm jetzt nicht weiter. Java Basics - Anfänger-Themen 11
M Jetzt lerne ich Java DVD Java Basics - Anfänger-Themen 5
H lose Bindung/Koppelung von Klassen -ja wie jetzt? Java Basics - Anfänger-Themen 10
K Priority Queue - wo ist denn jetzt der Vorteil? Java Basics - Anfänger-Themen 7
M Could not find the main class. --> Und was mach ich jetzt Java Basics - Anfänger-Themen 6
T Fenster JFrame erstellt, jetzt bearbeiten! Java Basics - Anfänger-Themen 6
R Thread geht jetzt - aber - Fehler "Null-Pointer" Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben