2016-06-21 12 views
-2

Seit einiger Zeit habe ich versucht, ein anderes JFrameAdminHome zu öffnen, aber es öffnet sich nicht. Selbst nachdem ich ein Verfahren derwie andere Jframe nach dem umgebenden Code mit Versuch öffnen und fangen

JFrame gemacht
AdminHome hmscrn = new AdminHome(); 

Alles, was es tut, ist zu meinem bereits abgeschlossen Rahmen und beenden Sie das Programm vollständig statt Öffnen der Homepage

private void addBttnActionPerformed(java.awt.event.ActionEvent evt) {           
    try{ 
    String sql = "insert into maintainsite (siteID,country,state,city,revenue,date,capacity) values (?,?,?,?,?,?,?)"; 
    pst=conn.prepareStatement(sql); 
    pst.setString(1, (String) siteID.getSelectedItem()); 
    pst.setString(2, (String) country.getSelectedItem()); 
    pst.setString(3, (String) state.getSelectedItem()); 
    pst.setString(4, (String) city.getSelectedItem()); 
    pst.setString(5, revenuelb.getText()); 
    pst.setString(6, ((JTextField) date.getDateEditor().getUiComponent()).getText()); 
    pst.setString(7, capacitylb.getText()); 


    pst.execute(); 
     int replying = JOptionPane.showConfirmDialog(null, "information saved! return to home page?","successful", JOptionPane.YES_NO_OPTION); 
    if (replying == JOptionPane.YES_OPTION) { 
     JOptionPane.showMessageDialog(null, "got it!"); 
     close(); 
    AdminHome hmscrn = new AdminHome(); 
    hmscrn.setVisible(true); 
    } 
     else { 
     JOptionPane.showMessageDialog(null, "close program!"); 

    close(); 
    } 


    } 
    catch(Exception e){JOptionPane.showMessageDialog(null, "please complete your selection and try again");} 
} 
+0

Wie sieht Ihre close() Methode aus? Wenn es System.exit() enthält, wird Ihr Programm an diesem Punkt beendet. – FredK

+1

Der Zweck einer Ausnahme ist es, Ihnen zu sagen, was falsch gelaufen ist. Anstatt es zu ignorieren, versuchen Sie 'e.printStackTrace();' in Ihrem catch-Block. – VGR

+0

1) Siehe [Die Verwendung mehrerer JFrames, gute/schlechte Praxis?] (Http://StackOverflow.com/q/9554636/418556) 2) Für bessere Hilfe früher, post ein [MCVE] oder [Short, Self Contained , Korrektes Beispiel] (http://www.sscce.org/). Hard-Code einige Daten, um die DB zu ersetzen. –

Antwort

-2

Ich habe meine Fehler in der Nähe gesehen .

Auf Ihrer tatsächlichen JFrame Optionen in den Eigenschaften Aspekt müssen Sie defaultCloseOperation von EXIT ON CLOSE zu DISPOSE_ON_CLOSE ändern.

Ich hoffe, ich habe auch irgendwie jemand anderen durch dasselbe gerettet.

+0

Bitte geben Sie beim nächsten Mal ein [mcve] anstelle eines Code-Snippets an, damit erhalten Sie weitere Informationen, und Sie erhalten auf diese Weise mehr, schnellere und bessere Antworten. – Frakcool

+2

Nein, Ihr Problem besteht darin, dass Sie versuchen, einen JFrame zu verwenden, in dem ein JDialog verwendet werden soll. Eine Anwendung sollte nur einen offenen JFrame haben und sollte JFrames nicht austauschen. –