โปรแกรมสวิงใช้หน้าต่างด้วยวัตถุ JFrame คลาส JFrame เป็นคลาสย่อยของคลาสเฟรม AWT นอกจากนี้ยังเพิ่มคุณสมบัติบางอย่างที่ไม่เหมือนใครในการแกว่ง คล้ายกับการใช้เฟรมมาก ความแตกต่างเพียงอย่างเดียวคือคุณไม่สามารถเพิ่มส่วนประกอบลงใน JFrame ได้ คุณสามารถเพิ่มส่วนประกอบลงในบานหน้าต่างเนื้อหาของ JFrame หรือจัดทำบานหน้าต่างเนื้อหาใหม่
ความแตกต่างระหว่างพาเนลและคอนเทนเนอร์ระดับบนสุด: แผงไม่สามารถอยู่ได้อย่างอิสระและต้องเพิ่มเข้าไปในด้านในของภาชนะอื่น ๆ (แผงสามารถซ้อนกันได้)
JFrame มีบานหน้าต่างเนื้อหาและส่วนประกอบทั้งหมดที่สามารถแสดงในหน้าต่างจะถูกเพิ่มเข้าไปในบานหน้าต่างเนื้อหานี้ JFrame มีสองวิธี: GetContentPane และ SetContentPane ใช้เพื่อรับและตั้งค่าบานหน้าต่างเนื้อหา
มีสองวิธีในการเพิ่มส่วนประกอบใน JFrame:
1) ใช้วิธี getContentPane () เพื่อรับแผงเนื้อหาของ JFrame จากนั้นเพิ่มส่วนประกอบลงไป: เฟรม GetContentPane () .Add (องค์ประกอบเด็ก)
2) สร้างคอนเทนเนอร์ระดับกลางเช่น JPanel หรือ Jdesktoppane เพิ่มส่วนประกอบลงในคอนเทนเนอร์และใช้วิธี SetContentPane () เพื่อตั้งค่าคอนเทนเนอร์เป็นแผงเนื้อหาของ JFrame:
JPanel ContentPane = new JPanel (); ... // เพิ่มส่วนประกอบอื่น ๆ ใน JPanel; frame.setContentPane (ContentPane); // ตั้งค่าวัตถุ ContentPane เป็นแผงเนื้อหาของเฟรม
ตัวอย่างโปรแกรม:
นำเข้า Java.awt.*; นำเข้า Javax.swing.*; คลาสสาธารณะ JFrameWithPanel {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {jframe frame = new JFrame ("เฟรมที่มีแผง"); container contentPane = frame.getContentPane (); ContentPane.SetBackground (color.cyan); // ตั้งค่าพื้นหลังของอินสแตนซ์ jframe เป็นแผง JPanel สีน้ำเงินสีน้ำเงิน = new JPanel (); // สร้างอินสแตนซ์ของ jpanel.setbackground (color.yellow); // ตั้งค่าพื้นหลังของอินสแตนซ์ของ JPanel เป็นปุ่ม jbutton สีเหลือง = new JButton ("กดฉัน"); Panel.Add (ปุ่ม); // เพิ่มอินสแตนซ์ JButton ลงใน JPanel ContentPane.Add (แผง, BorderLayout.South); // เพิ่มอินสแตนซ์ JPanel ไปทางด้านทิศใต้ของ JFrame.setsize (300, 200); frame.setVisible (จริง); -ภาพหน้าจอ:
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการวิเคราะห์ตัวอย่างของวิธีการเพิ่มและตั้งค่า JPanel ใน JFrame ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!