2016-06-21 1 views
-2

В течение некоторого времени я пытался открыть другой JFrameAdminHome, но он не открывается. Даже после того, как я сделал метод JFrameкак открыть другую другую Jframe после окружающего кода с помощью try and catch

AdminHome hmscrn = new AdminHome(); 

Все это делает, чтобы закрыть мой уже завершенный кадр и закончить программу полностью вместо открытия домашней страницы

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

Как выглядит ваш метод close()? Если он включает System.exit(), ваша программа будет завершена в этот момент. – FredK

+1

Целью исключения является рассказать вам, что пошло не так. Вместо того, чтобы игнорировать его, попробуйте 'e.printStackTrace();' в вашем блоке catch. – VGR

+0

1) См. [Использование нескольких JFrames, Хорошая/Плохая Практика?] (Http://stackoverflow.com/q/9554636/418556) 2) Чтобы лучше помочь, опубликуйте [MCVE] или [Short, Self Contained , Правильный пример] (http://www.sscce.org/). Жесткий код некоторых данных для замены БД. –

ответ

-2

Я видел свою ошибку ,

В ваших действительных JFrame вариантах в аспекте свойств вам необходимо изменить defaultCloseOperation от EXIT ON CLOSE до DISPOSE_ON_CLOSE.

Надеюсь, что я также сохранил кого-то другого, проходящего через то же самое.

+0

В следующий раз, пожалуйста, предоставьте [mcve] вместо фрагмента кода, это даст нам больше информации, и вы получите больше, быстрее и лучше ответьте таким образом. – Frakcool

+2

Нет вашей проблемы в том, что вы пытаетесь использовать JFrame, где должен использоваться JDialog. Приложение должно иметь только один открытый JFrame и избегать обмена JFrames. –