Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 JFrame과 JDialog의 차이점은 무엇입니까?

<시간/>

제이프레임

  • 프레임에 추가된 구성 요소를 콘텐츠라고 하며, 이러한 구성 요소는 contentPane에서 관리합니다. . JFrame에 구성요소를 추가하려면 , contentPane 을 사용해야 합니다. 대신.
  • JFrame 제목이 있는 창 포함 , 테두리 , (선택 사항) 메뉴 사용자 -지정됨 구성요소 .
  • JFrame 이동 가능 , 크기 조정 , 아이콘화 JComponent의 하위 클래스가 아닙니다. .
  • 기본적으로 JFrame은 왼쪽 상단 모서리에 표시됩니다. 화면의 r. 지정된 위치에 프레임을 표시하려면 setLocation(x, y) JFrame 클래스의 메서드입니다.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JFrameDemo {
   public static void main(String s[]) {
      JFrame frame = new JFrame("JFrame Demo");
      frame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            System.exit(0);
         }
      });
      JLabel lbl = new JLabel("JFrame Demo");
      lbl.setPreferredSize(new Dimension(175, 100));
      frame.getContentPane().add(lbl, BorderLayout.CENTER);
      frame.setSize(375, 275);
      frame.setVisible(true);
   }
}

출력

Java에서 JFrame과 JDialog의 차이점은 무엇입니까?

JDialog

  • JDialog JFrame 과 매우 유사합니다. JDialog가 modally 설정될 수 있다는 점을 제외하고 . 모달 해당 JDialog가 표시되는 동안 다른 창을 사용하거나 활성화할 수 없음을 의미합니다.
  • 모달 대화상자 다른 최상위 창 및 모덜리스 에 대한 입력 차단 대화상자 다른 창에 대한 입력을 허용합니다.
  • JFrame과 달리 , JDialog는 창의 오른쪽 상단 모서리에 최소화 및 최대화 버튼을 보유하지 않습니다.

예시

import javax.swing.JDialog;
import javax.swing.JLabel;
public class JDialogDemo extends JDialog {
   public static void main(String[] args) {
      try {
         JDialogDemo dialog = new JDialogDemo();
         dialog.setVisible(true);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }  
   public JDialogDemo() {
      setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
      setTitle("Welcome to Tutorials Point");
      setBounds(100, 100, 359, 174);
      getContentPane().setLayout(null);
      JLabel label = new JLabel("Welcome to Tutorials Point");
      label.setBounds(86, 37, 175, 29);
      getContentPane().add(label);
   }
}

출력

Java에서 JFrame과 JDialog의 차이점은 무엇입니까?