ในขอบเขตของการเขียนโปรแกรม Java การสร้างแอปพลิเคชันเดสก์ท็อปที่หลากหลายและโต้ตอบมักจะเกี่ยวข้องกับการใช้ไลบรารีสวิง หนึ่งในองค์ประกอบที่ทรงพลังในการแกว่งคือjdesktoppaneซึ่งช่วยให้นักพัฒนาสามารถสร้างสภาพแวดล้อมแบบหลายอินเตอร์เฟสเอกสาร (MDI) คล้ายกับเดสก์ท็อป Windows ในฐานะซัพพลายเออร์สวิงฉันมาที่นี่เพื่อแนะนำคุณตลอดกระบวนการสร้างบานหน้าต่างเดสก์ท็อปโดยใช้jdesktoppaneในการแกว่ง


ทำความเข้าใจกับ jdesktoppane
ที่jdesktoppaneคลาสเป็นคอนเทนเนอร์ที่ให้เดสก์ท็อปเสมือนจริงภายในแอปพลิเคชัน Java มันสามารถเก็บเฟรมภายในหลายเฟรม (เฟรมภายใน) ซึ่งเป็นเหมือนมินิ - หน้าต่างที่สามารถปรับขนาดย้ายและปิดภายในบานหน้าต่างเดสก์ท็อป สิ่งนี้จะสร้างสภาพแวดล้อมที่เป็นมิตรและเป็นมิตรมากขึ้นสำหรับแอปพลิเคชันที่จำเป็นต้องจัดการเอกสารหรือมุมมองหลายอย่าง
การตั้งค่าโครงสร้างพื้นฐาน
เพื่อเริ่มสร้างบานหน้าต่างเดสก์ท็อปโดยใช้jdesktoppaneก่อนอื่นเราต้องตั้งค่าโครงการ Java ขั้นพื้นฐานด้วยการนำเข้าที่จำเป็น นี่คือตัวอย่างโค้ดง่ายๆในการสร้างเฟรมพื้นฐานด้วยไฟล์jdesktoppane-
นำเข้า Javax.swing.*; นำเข้า Java.awt.*; คลาสสาธารณะ Desktoppaneexample {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// สร้างเฟรมหลัก JFrame frame = new JFrame ("ตัวอย่างบานหน้าต่างเดสก์ท็อป"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.setsize (800, 600); // สร้างบานหน้าต่างเดสก์ท็อป Jdesktoppane Desktoppane = ใหม่ Jdesktoppane (); frame.setContentPane (Desktoppane); // ทำให้เฟรมมองเห็นเฟรมที่มองเห็นได้ (จริง); -
ในรหัสนี้ก่อนอื่นเราสร้างไฟล์jframeซึ่งเป็นหน้าต่างหลักของแอปพลิเคชันของเรา จากนั้นเราสร้างไฟล์jdesktoppaneและตั้งค่าเป็นบานหน้าต่างเนื้อหาของเฟรม ในที่สุดเราทำให้เฟรมมองเห็นได้
การเพิ่มเฟรมภายใน
พลังที่แท้จริงของjdesktoppaneมาจากความสามารถในการเก็บเฟรมภายในหลายเฟรม มาเพิ่มเฟรมภายในอย่างง่ายลงในบานหน้าต่างเดสก์ท็อปของเรา:
นำเข้า Javax.swing.*; นำเข้า Java.awt.*; คลาสสาธารณะ Desktoppaneexample {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {jframe frame = new JFrame ("ตัวอย่างบานหน้าต่างเดสก์ท็อป"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.setsize (800, 600); JDESKTOPPANE DESKTOPPANE = ใหม่ JDESKTOPPANE (); frame.setContentPane (Desktoppane); // สร้างเฟรมภายใน jinternalframe internalframe = ใหม่ jinternalframe ("เฟรมภายใน", จริง, จริง, จริง, จริง, จริง); InternalFrame.setsize (300, 200); InternalFrame.setLocation (50, 50); InternalFrame.setVisible (จริง); // เพิ่มเฟรมภายในลงใน Desktop Desktoppane.add (InternalFrame); frame.setVisible (จริง); -
ในรหัสที่อัปเดตนี้เราสร้างไฟล์เฟรมภายในด้วยชื่อเรื่อง "Frame ภายใน" พารามิเตอร์บูลีนทั้งสี่ในคอนสตรัคเตอร์ของเฟรมภายในเป็นตัวแทนว่าเฟรมสามารถปรับขนาดปิดการขยายใหญ่ที่สุดและไอคอนตามลำดับหรือไม่ เราตั้งค่าขนาดและตำแหน่งของเฟรมภายในและทำให้มองเห็นได้ จากนั้นเราเพิ่มลงในไฟล์jdesktoppane-
การจัดการเฟรมภายใน
เมื่อเราเพิ่มเฟรมภายในลงในไฟล์jdesktoppaneเราอาจต้องจัดการพวกเขา ตัวอย่างเช่นเราสามารถย้ายปรับขนาดหรือปิดพวกเขาโดยทางโปรแกรม นี่คือตัวอย่างของวิธีการปิดเฟรมภายใน:
นำเข้า Javax.swing.*; นำเข้า Java.awt.*; นำเข้า java.awt.event.actionEvent; นำเข้า java.awt.event.actionListener; คลาสสาธารณะ Desktoppaneexample {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {jframe frame = new JFrame ("ตัวอย่างบานหน้าต่างเดสก์ท็อป"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.setsize (800, 600); JDESKTOPPANE DESKTOPPANE = ใหม่ JDESKTOPPANE (); frame.setContentPane (Desktoppane); jinternalframe internalframe = new jinternalframe ("เฟรมภายใน", จริง, จริง, จริง, จริง); InternalFrame.setsize (300, 200); InternalFrame.setLocation (50, 50); InternalFrame.setVisible (จริง); desktoppane.add (Internalframe); // สร้างปุ่มเพื่อปิดเฟรมภายใน JButton CloseButton = new JButton ("ปิดกรอบภายใน"); closebutton.addactionListener (ใหม่ actionListener () {@Override โมฆะสาธารณะ ActionPerformed (ActionEvent E) {ลอง {InternalFrame.setClosed (จริง);} catch (java.beans.propertyvetoexception ex) // เพิ่มปุ่มลงในแผงและแผงไปยังเฟรม JPanel Panel = new JPanel (); Panel.Add (CloseButton); frame.getContentPane (). เพิ่ม (แผง, BorderLayout.South); frame.setVisible (จริง); -
ในรหัสนี้เราสร้างปุ่มที่เมื่อคลิกปิดเฟรมภายใน โปรดทราบว่าเราจำเป็นต้องจัดการไฟล์PropertyVetoExceptionเมื่อปิดเฟรมภายในเนื่องจากการดำเนินการบางอย่างบนเฟรมภายในสามารถคัดค้านได้
เพิ่มประสบการณ์ผู้ใช้
เพื่อให้แอปพลิเคชันของเราผู้ใช้มากขึ้น - เป็นมิตรเราสามารถเพิ่มคุณสมบัติบางอย่างเช่นแถบเมนูแถบเครื่องมือและการลาก - และ - รองรับการสนับสนุน ตัวอย่างเช่นเราสามารถเพิ่มแถบเมนูลงในเฟรมหลัก:
นำเข้า Javax.swing.*; นำเข้า Java.awt.*; คลาสสาธารณะ Desktoppaneexample {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {jframe frame = new JFrame ("ตัวอย่างบานหน้าต่างเดสก์ท็อป"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.setsize (800, 600); JDESKTOPPANE DESKTOPPANE = ใหม่ JDESKTOPPANE (); frame.setContentPane (Desktoppane); jinternalframe internalframe = new jinternalframe ("เฟรมภายใน", จริง, จริง, จริง, จริง); InternalFrame.setsize (300, 200); InternalFrame.setLocation (50, 50); InternalFrame.setVisible (จริง); desktoppane.add (Internalframe); // สร้างแถบเมนู JMENUBAR MENUBAR = ใหม่ JMENUBAR (); JMENU fileMenU = new JMENU ("ไฟล์"); jmenuitem exitmenuitem = new jmenuitem ("ออก"); exitmenuitem.addactionListener (e -> system.exit (0)); filemenu.add (exitmenuitem); Menubar.add (Filemenu); frame.setjmenubar (Menubar); frame.setVisible (จริง); -
ในรหัสนี้เราสร้างแถบเมนูด้วยเมนู "ไฟล์" และรายการเมนู "ออก" เมื่อคลิกรายการเมนู "ออก" แอปพลิเคชันจะออก
บทสรุป
การสร้างบานหน้าต่างเดสก์ท็อปโดยใช้jdesktoppaneในการแกว่งเป็นวิธีที่ยอดเยี่ยมในการสร้างแอปพลิเคชั่นอินเทอร์เฟซหลายรายการใน Java ด้วยความสามารถในการเก็บเฟรมภายในหลายเฟรมและจัดการเราสามารถสร้างแอปพลิเคชันเดสก์ท็อปที่หลากหลายและโต้ตอบได้
หากคุณมีความสนใจในผลิตภัณฑ์และบริการที่เกี่ยวข้องกับการแกว่งของเราเรานำเสนอโซลูชั่นที่มีคุณภาพสูง ตัวอย่างเช่นเรามีชุดสวิงหลังบ้านยางซึ่งเหมาะสำหรับความบันเทิงกลางแจ้ง ของเราการแกว่งไม้สำหรับสวนสาธารณะให้ตัวเลือกคลาสสิกและทนทานสำหรับพื้นที่สาธารณะ และของเราการแกว่งยางที่น่าสนใจแน่ใจว่าจะนำความสนุกสนานมาสู่ทั้งเด็กและผู้ใหญ่
หากคุณมีคำถามใด ๆ หรือมีความสนใจในการซื้อโปรดติดต่อเราสำหรับการสนทนาเพิ่มเติม เรารอคอยที่จะได้ร่วมงานกับคุณเพื่อตอบสนองความต้องการที่เกี่ยวข้องกับการแกว่งของคุณ
การอ้างอิง
- "การสอน Java Swing" โดย Oracle
- "Java ที่มีประสิทธิภาพ" โดย Joshua Bloch
