Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

อะไรคือความแตกต่างระหว่าง JFrame และ JDialog ใน Java?


JFrame

  • ส่วนประกอบที่เพิ่มลงในเฟรมเรียกว่าเนื้อหา ซึ่งจัดการโดย contentPane . ในการเพิ่มส่วนประกอบให้กับ JFrame เราต้องใช้ contentPane แทน
  • A JFrame มีหน้าต่างที่มี ชื่อ , เส้นขอบ , (ตัวเลือก) เมนู แถบ และ ผู้ใช้ -ระบุ ส่วนประกอบ .
  • A 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 =ใหม่ JFrame ("JFrame Demo "); frame.addWindowListener (WindowAdapter ใหม่ () { การปิดหน้าต่างสาธารณะเป็นโมฆะ (WindowEvent e) { System.exit (0); } }); JLabel lbl =ใหม่ JLabel("JFrame Demo"); lbl.setPreferredSize(มิติใหม่(175, 100)); frame.getContentPane().add(lbl, BorderLayout.CENTER); frame.setSize(375, 275); frame.setVisible(จริง); }}

ผลลัพธ์

อะไรคือความแตกต่างระหว่าง JFrame และ JDialog ใน Java?

JDialog

  • JDialog คล้ายกับ JFrame . มาก ยกเว้นว่า JDialog สามารถตั้งค่า modally . โมดอล หมายความว่าไม่สามารถใช้หรือเปิดใช้งานหน้าต่างอื่นในขณะที่ JDialog ที่เกี่ยวข้องกำลังแสดงอยู่
  • โมดอล กล่องโต้ตอบ บล็อกอินพุตไปยังหน้าต่างระดับบนสุดอื่นและ นางแบบ กล่องโต้ตอบ อนุญาตให้ป้อนข้อมูลไปยังหน้าต่างอื่นได้
  • ไม่เหมือนกับ JFrame , JDialog จะไม่กดปุ่มย่อและขยายที่มุมบนขวาของหน้าต่าง

ตัวอย่าง

<ก่อนหน้า นำเข้า javax.swing.JDialog นำเข้า javax.swing.JLabel คลาสสาธารณะ JDialogDemo ขยาย JDialog { โมฆะสาธารณะหลัก (สตริง [] args) { ลอง { กล่องโต้ตอบ JDialogDemo =ใหม่ JDialogDemo (); dialog.setVisible(จริง); } catch (ข้อยกเว้น e) { e.printStackTrace(); } } JDialogDemo สาธารณะ () { setDefaultCloseOperation (JDialog.DISPOSE_ON_CLOSE); setTitle("ยินดีต้อนรับสู่จุดสอน"); setBounds(100, 100, 359, 174); getContentPane().setLayout(null); JLabel label =ใหม่ JLabel("ยินดีต้อนรับสู่ Tutorials Point"); label.setBounds (86, 37, 175, 29); getContentPane().add(ป้ายกำกับ); }}

ผลลัพธ์

อะไรคือความแตกต่างระหว่าง JFrame และ JDialog ใน Java?