จะสร้างกล่องรายการในแอปพลิเคชันสวิงได้อย่างไร?

May 12, 2025ฝากข้อความ

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

Impeller 2

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะดำน้ำในการสร้างกล่องรายการคุณจะต้องมีความเข้าใจพื้นฐานเกี่ยวกับการเขียนโปรแกรม Java และห้องสมุด Java Swing Swing เป็นชุดเครื่องมือเครื่องมือ GUI (ส่วนต่อประสานผู้ใช้กราฟิก) สำหรับ Java มันมีชุดส่วนประกอบมากมายที่สามารถใช้ในการสร้างแอปพลิเคชันที่ดึงดูดสายตาและผู้ใช้ - เป็นมิตร

การสร้างกล่องรายการพื้นฐาน

เริ่มต้นด้วยรูปแบบที่ง่ายที่สุดในการสร้างกล่องรายการ รหัส Java ต่อไปนี้แสดงวิธีสร้างกล่องรายการพื้นฐานที่มีรายการตัวอย่างสองสามรายการ:

`` `java นำเข้า Javax.swing- นำเข้า Java.awt-

คลาสสาธารณะ BasicListBoxExample {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {// สร้าง JFrame JFrame frame = new JFrame ("ตัวอย่างกล่องรายการพื้นฐาน"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.setsize (300, 200);

// สร้างอาร์เรย์ของรายการสำหรับสตริงกล่องรายการ [] รายการ = {"รายการ 1", "รายการ 2", "รายการ 3", "รายการ 4"}; // สร้าง jlist (กล่องรายการ) ด้วยรายการ JList <String> listbox = new Jlist <> (รายการ); // สร้าง jscrollpane เพื่อให้กล่องรายการเลื่อน jscrollpane scrollpane = new jscrollpane (กล่องรายการ); // เพิ่มบานหน้าต่างเลื่อนลงในเฟรมเฟรม getContentPane () เพิ่ม (scrollpane, borderlayout.center); // ทำให้เฟรมมองเห็นเฟรมที่มองเห็นได้ (จริง); -

-

ในรหัสนี้ก่อนอื่นเราสร้างไฟล์jframeซึ่งเป็นหน้าต่างหลักของแอปพลิเคชันสวิงของเรา จากนั้นเรากำหนดอาร์เรย์ของสตริงที่จะทำหน้าที่เป็นรายการในกล่องรายการของเรา ที่jlistConstructor ใช้อาร์เรย์นี้เป็นอาร์กิวเมนต์เพื่อสร้างกล่องรายการ เนื่องจากกล่องรายการอาจมีรายการมากกว่าที่จะพอดีในพื้นที่ที่มองเห็นได้เราจึงห่อมันไว้ในกjscrollpaneเพื่อให้สามารถเลื่อนได้ ในที่สุดเราเพิ่มบานหน้าต่างเลื่อนลงในเฟรมและทำให้เฟรมมองเห็นได้

ปรับแต่งกล่องรายการ

กล่องรายการพื้นฐานที่เราสร้างขึ้นข้างต้นนั้นใช้งานได้ แต่อาจไม่เป็นไปตามข้อกำหนดทั้งหมดของแอปพลิเคชันของคุณ Swing มีหลายวิธีในการปรับแต่งลักษณะและพฤติกรรมของกล่องรายการ

การเลือกรายการ

โดยค่าเริ่มต้นกล่องรายการอนุญาตโหมดการเลือกเดี่ยว อย่างไรก็ตามคุณสามารถเปลี่ยนเป็นโหมดการเลือกได้หลายโหมด นี่คือวิธี:

0061

java // สร้าง jlist jlist <string> listbox = new jlist <> (รายการ); // ตั้งค่าโหมดการเลือกเป็น listbox การเลือกหลายรายการ SetSelectionMode (listelectionModel.multiple_interval_selection);

ในรหัสนี้เราใช้ไฟล์SetSelectionModeวิธีการของjlistระดับ. ที่listselectionModel.multiple_interval_selectionค่าคงที่อนุญาตให้ผู้ใช้เลือกหลายรายการที่ไม่ต่อเนื่องกันในกล่องรายการ

การแสดงผลรายการ

นอกจากนี้คุณยังสามารถปรับแต่งวิธีการแสดงรายการในกล่องรายการ ตัวอย่างเช่นคุณอาจต้องการแสดงภาพพร้อมกับข้อความ ในการทำเช่นนี้คุณต้องสร้างตัวแสดงผลเซลล์ที่กำหนดเอง นี่คือตัวอย่างง่ายๆ:

`` `java นำเข้า Javax.swing- นำเข้า Java.awt-

Class CustomListCellRenderer ขยาย DEFAUNTLISTCELLRENDERER {@Override ส่วนประกอบสาธารณะ getListCellRendererComponent (jlist <?> รายการค่าวัตถุดัชนี int ดัชนีบูลีนที่ได้รับการคัดเลือกบูลีน cellhasfocus) if (index % 2 == 0) {C.SetBackground (color.light_gray); } else {C.SetBackground (color.white); } return c; -

คลาสสาธารณะ CustomListBoxExample {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {jframe frame = new JFrame ("ตัวอย่างกล่องรายการที่กำหนดเอง"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.setsize (300, 200);

String [] items = {"รายการ 1", "รายการ 2", "รายการ 3", "รายการ 4"}; jlist <String> listbox = new jlist <> (รายการ); // ตั้งค่าตัวเรนเดอร์เซลล์ที่กำหนดเอง listbox.setCellRenderer (ใหม่ CustomListCellRenderer ()); jscrollpane scrollpane = new jscrollpane (listbox); frame.getContentPane (). เพิ่ม (scrollpane, borderlayout.center); frame.setVisible (จริง); -

-

ในตัวอย่างนี้เราสร้างตัวแสดงผลเซลล์แบบกำหนดเองโดยขยายไฟล์DefaultListCellRendererระดับ. เราแทนที่ไฟล์GetListCell Renderer Componentวิธีการเปลี่ยนสีพื้นหลังของรายการอื่น ๆ ทุกรายการในกล่องรายการ

ทำงานกับโมเดลข้อมูล

ในแอปพลิเคชันที่ซับซ้อนมากขึ้นคุณอาจต้องการใช้โมเดลข้อมูลเพื่อจัดการรายการในกล่องรายการ ที่defaultListModelชั้นเรียนเป็นวิธีที่สะดวกในการทำเช่นนี้ นี่คือตัวอย่าง:

`` `java นำเข้า Javax.swing- นำเข้า Java.awt-

คลาสสาธารณะ DataModelListBoxExample {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {JFrame frame = new JFrame ("ตัวอย่างรายการรายการข้อมูลข้อมูล"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.setsize (300, 200);

// สร้าง defaultListModel defaultListModel <String> listModel = ใหม่ defaultListModel <> (); ListModel.AddElement ("Item A"); ListModel.Addelement ("Item B"); ListModel.Addelement ("Item C"); // สร้าง jlist ด้วยโมเดลข้อมูล jlist <string> listbox = new jlist <> (listmodel); jscrollpane scrollpane = new jscrollpane (listbox); frame.getContentPane (). เพิ่ม (scrollpane, borderlayout.center); frame.setVisible (จริง); -

-

การใช้แบบจำลองข้อมูลช่วยให้คุณสามารถเพิ่มลบหรือแก้ไขรายการในกล่องรายการได้อย่างง่ายดาย

การรวมเข้ากับแอพพลิเคชั่นของ Real - World

ในฐานะผู้จัดหากล่องรายการฉันเข้าใจว่ากล่องรายการมักใช้ในแอปพลิเคชันจริง - โลกเพื่อแสดงและจัดการข้อมูลประเภทต่างๆ ตัวอย่างเช่นในแอปพลิเคชั่นการจัดการชิ้นส่วนเครื่องจักรของเหลวคุณอาจใช้กล่องรายการเพื่อแสดงชิ้นส่วนต่าง ๆ เช่นใบพัด 1-ใบพัด 2, และท่อน้ำกลั่นน้ำทะเล-

0413

นี่คือตัวอย่างง่ายๆของวิธีที่คุณสามารถรวมกล่องรายการเข้ากับแอปพลิเคชันการจัดการชิ้นส่วนเครื่องจักรของเหลว:

`` `java นำเข้า Javax.swing- นำเข้า Java.awt-

Desalination Water Pipe

ระดับสาธารณะของ FluidMachineryPartsListBoxExample {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {jframe frame = new JFrame ("กล่องรายการชิ้นส่วนเครื่องจักรของเหลว"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.setsize (300, 200);

DefaultListModel <String> PartsModel = ใหม่ defaultListModel <> (); PartsModel.Addelement ("ใบพัด 1"); PartsModel.Addelement ("ใบพัด 2"); PartsModel.Addelement ("ท่อน้ำกลั่นน้ำทะเล"); Jlist <String> PartsListBox = new JList <> (PartsModel); jscrollpane scrollpane = new JScrollpane (PartslistBox); frame.getContentPane (). เพิ่ม (scrollpane, borderlayout.center); frame.setVisible (จริง); -

-

บทสรุป

การสร้างกล่องรายการในแอปพลิเคชันสวิงเป็นกระบวนการที่ตรงไปตรงมา แต่มีความยืดหยุ่นและการปรับแต่งในระดับสูง ไม่ว่าคุณจะกำลังสร้างแอปพลิเคชั่นที่เรียบง่ายหรือระบบระดับองค์กรที่ซับซ้อนกล่องรายการสามารถปรับปรุงประสบการณ์ผู้ใช้ได้อย่างมาก

ในฐานะผู้จัดหากล่องรายการฉันมุ่งมั่นที่จะให้ส่วนประกอบกล่องรายการคุณภาพสูงซึ่งเชื่อถือได้และง่ายต่อการรวมเข้ากับแอปพลิเคชันสวิงของคุณ หากคุณสนใจที่จะสำรวจข้อเสนอกล่องรายการของเราหรือมีคำถามใด ๆ เกี่ยวกับการสร้างกล่องรายการในโครงการของคุณฉันขอแนะนำให้คุณติดต่อเราเพื่อจัดซื้อจัดจ้างและการอภิปรายเพิ่มเติม

การอ้างอิง

  • "Java ที่มีประสิทธิภาพ" โดย Joshua Bloch
  • "Java Swing: คู่มือผู้เริ่มต้น" โดย Herbert Schildt