2012-05-04 16 views
2

ボタンがあるJframeウィンドウがあります。ボタンをクリックすると、新しいJFrameウィンドウが開きます。しかし、このウィンドウを閉じると、最初のJframeウィンドウがボタンで自動的に閉じられます。 2番目のJframeウィンドウを閉じるときに最初のJframeウィンドウが閉じないようにするにはどうすればよいですか?JFrame閉じるボタン

public static void main (String[] args){ 
     JFrame frame = new JFrame("Test"); 
     frame.setVisible(true); 
     frame.setSize(500,500); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JButton button = new JButton("Test"); 


     button.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) 
      { 
       new SView().gui(); 
      } 
     }); 


     JPanel panel = new JPanel(); 
     GridBagLayout gridbag = new GridBagLayout(); 
     panel.setLayout(gridbag); 
     panel.add(button); 
     panel.setBackground(new Color(156, 93, 82)); 
     frame.add(panel, BorderLayout.CENTER); 
+1

JFramesがこれを行うために作られていなかったのではなく、単一の安定したGUIを保持するために呼び出さないでください。また、非常に悪いユーザーエクスペリエンスのため、JFramesを交換しないでください。 CardLayoutを介してビューを入れ替える方が良いか、依存ダイアログウィンドウを表示してからJDialogまたはJOptionPaneを使用する必要がある場合は、より良い方法です。 –

+0

私は望みますが、私がその周りを変え始めるなら、それは非常に乱雑になるでしょう。だからそれを防ぐ方法はない? –

+1

ヒントについては、[複数のJFramesの使用、良い/悪い習慣?](http://stackoverflow.com/a/9554657/418556)を参照してください。 * "私が周りを変え始めると、それは非常に乱雑になります。" *心配しないでください。すでに***非常に乱雑です。*** –

答えて

3

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
+0

ありがとうございます。それは動作します –

+2

'setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)'を呼び出すことに言及すると便利でしょうか? –

関連する問題