2014-10-29 2 views
1

간단한 코드가 있습니다. 처음에는 버튼이있는 프레임이 있습니다. 버튼을 클릭하면 메시지 대화 상자가 나타납니다. 버튼을 눌렀을 때 주 프레임의 가시성을 false로 설정하는 방법은 무엇입니까? true로 다시 가시성 메시지에서 '확인'을 사용자가 클릭 여기 JFrame : 버튼을 클릭했을 때 메인 윈도우를 숨기는 방법은?

대화 코드입니다 :

package something; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; //notice javax 

public class Something extends JFrame implements ActionListener { 

    JLabel answer = new JLabel(""); 
    JPanel pane = new JPanel(); 
    JButton somethingButton = new JButton("Something"); 

    Something() { 
     super("Something"); 
     setBounds(100, 100, 300, 100); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     Container con = this.getContentPane(); // inherit main frame 
     con.add(pane); // add the panel to frame 
     pane.add(somethingButton); 
     somethingButton.requestFocus(); 
     somethingButton.addActionListener(this); 
     setVisible(true); // display this frame 
    } 

    @Override 
    public void actionPerformed(ActionEvent event) { 
     Object source = event.getSource(); 
     if (source == somethingButton) { 
      answer.setText("Button pressed!"); 
      JOptionPane.showMessageDialog(null, "Something", "Message Dialog", 
        JOptionPane.PLAIN_MESSAGE); 
      setVisible(true); // show something 
     } 
    } 

    public static void main(String args[]) { 
     Something something = new Something(); 
    } 
} 
+2

무엇 (거짓)로 setVisible에 대한; 버튼 클릭? – Anptk

+0

참조 http://stackoverflow.com/questions/8582743/java-dialog-find-out-if-ok-is-clicked – Anptk

+1

옵션 창이 열려있을 때 프레임이 사라져야하는 이유는 무엇입니까? –

답변

2
@Override 
public void actionPerformed(ActionEvent event) { 
    Object source = event.getSource(); 
    if (source == somethingButton) { 
     answer.setText("Button pressed!"); 
     setVisible(false); // hide something    
     JOptionPane.showMessageDialog(this, "Something", "Message Dialog",JOptionPane.PLAIN_MESSAGE); 
     setVisible(true); // show something 
    } 
} 
관련 문제