자바 버튼 을 누 르 면 새 창 을 팝 업 합 니 다.

본 논문 의 사례 는 자바 가 버튼 을 누 르 면 새 창 을 팝 업 하 는 기능 을 공유 하고 오래된 창 은 조작 하지 않 습 니 다.

분석:사용자 정의 창 에 있어 서 가장 간단 하고 직접적인 방법 은 새 창 을 javax.swing.JDialog(대화 상 자 는 최상 위 창 에 속 하고 JFrame 과 동급)에 계승 하 는 것 입 니 다.이 창 을 만 든 후에 setModality Type()을 추가 하면 새 창 을 열 면 원래 창 이 동작 하지 못 하고 새 창 을 닫 아야 동작 할 수 있 습 니 다.한편,setModality Type()방법 중의 매개 변 수 는 java.awt 매 거 Dialog.Modality Type 이 고 매 거 Dialog.Modality Type 은 몇 가지 상용 상수 가 있 습 니 다.1.APPLICATIONMODAL 대화 상 자 는 같은 자바 프로그램의 모든 최상 위 창 을 막 습 니 다(하위 계층 구조의 최상 위 창 제외).2.DOCUMENT_MODAL 대화 상 자 는 같은 문서 의 모든 맨 위 창 에 대한 입력 을 막 습 니 다(하위 계층 구조의 맨 위 창 은 제외).3.MODELESS 대화 상 자 는 최상 위 창 을 막 지 않 습 니 다.4.TOOLKIT_MODAL 대화 상 자 는 같은 공구 꾸러미 에서 모든 맨 위 창 을 실행 하 는 것 을 막 습 니 다.(자신의 하위 계층 구조의 맨 위 창 은 제외)
다음은 제 가 간단 한 demo 를 썼 습 니 다.

public class SwingTest extends JFrame implements ActionListener {
  JButton jb = new JButton();

  public SwingTest() {
    this.setTitle("Java――");
    jb.setText("  ");
    jb.setMnemonic('a');
    this.add(jb);
    this.setBounds(200, 300, 250, 300);
    this.setVisible(true);
    jb.addActionListener(this); //  SwingTest   ActionListener  ,   jb   ActionListener  SwingTest  。
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  public void actionPerformed(ActionEvent e) {//   ActionListener   actionPerformed  。
    JDialog frame = new JDialog();//      JFrame,     。
    frame.setBounds(//      SwingTest      50  。
        new Rectangle(
            (int) this.getBounds().getX() + 50,
            (int) this.getBounds().getY() + 50, 
            (int) this.getBounds().getWidth(), 
            (int) this.getBounds().getHeight()
        )
      );
    JLabel jl = new JLabel();//         。
    frame.getContentPane().add(jl);
    jl.setText("     ");
    jl.setVerticalAlignment(JLabel.CENTER);
    jl.setHorizontalAlignment(JLabel.CENTER);//          。
   //    APPLICATION_MODAL:     Java             (       
    frame.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);  //       。
    frame.setVisible(true);
  }

  public static void main(String args[]) {
    SwingTest s = new SwingTest();
  }
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기