자바 버튼 을 누 르 면 새 창 을 팝 업 합 니 다.
분석:사용자 정의 창 에 있어 서 가장 간단 하고 직접적인 방법 은 새 창 을 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();
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.