เฮ้! ฉันเป็นส่วนหนึ่งของทีมงานซัพพลายเออร์ของ Swing Screen และฉันได้รับคำถามมากมายเกี่ยวกับวิธีใช้ BorderLayout ใน Swing Screen วันนี้ผมจะแจกแจงรายละเอียดให้คุณทีละขั้นตอน
ก่อนอื่นเลย BorderLayout คืออะไร? มันเป็นหนึ่งในเครื่องมือจัดการเลย์เอาต์ใน Swing API ของ Java ผู้จัดการเลย์เอาต์ก็เหมือนกับสถาปนิกของ GUI (Graphical User Interface) พวกเขาตัดสินใจว่าส่วนประกอบทั้งหมด เช่น ปุ่ม ช่องข้อความ และป้ายกำกับ จะถูกจัดเรียงบนหน้าจออย่างไร BorderLayout แบ่งคอนเทนเนอร์ออกเป็นห้าภูมิภาค: NORTH, SOUTH, EAST, WEST และ CENTER
เริ่มต้นด้วยโค้ดเล็กน้อย นี่เป็นตัวอย่างง่ายๆ ของการตั้งค่า Swing Screen พื้นฐานด้วย BorderLayout:
นำเข้า javax.swing.*; นำเข้า java.awt.*; BorderLayoutExample คลาสสาธารณะ { โมฆะสาธารณะคง main (String [] args) { JFrame frame = new JFrame ("BorderLayout Demo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(BorderLayout ใหม่()); JButton northButton = JButton ใหม่ ("ทิศเหนือ"); frame.add(northButton, BorderLayout.NORTH); JButton southButton = JButton ใหม่ ("ใต้"); frame.add(southButton, BorderLayout.SOUTH); JButton eastButton = JButton ใหม่ ("ตะวันออก"); frame.add(eastButton, BorderLayout.EAST); JButton westButton = JButton ใหม่ ("ตะวันตก"); frame.add(westButton, BorderLayout.WEST); JButton centerButton = JButton ใหม่ ("ศูนย์"); frame.add(centerButton, BorderLayout.CENTER); กรอบ.แพ็ค(); frame.setVisible(จริง); -
ในโค้ดนี้ เราจะสร้างไฟล์เจเฟรมซึ่งเปรียบเสมือนหน้าต่างบานสวิงของเรา จากนั้นเราก็กำหนดเค้าโครงของมันให้เป็นBorderLayout- หลังจากนั้นเราก็สร้างห้าอันเจบัตตันส่วนประกอบและเพิ่มแต่ละรายการไปยังภูมิภาคเฉพาะของBorderLayout- ที่ทิศเหนือภูมิภาคอยู่ด้านบนสุดใต้ที่ด้านล่างทิศตะวันออกทางด้านขวาตะวันตกทางด้านซ้ายและศูนย์อยู่ตรงกลาง
สิ่งที่ยอดเยี่ยมเกี่ยวกับ BorderLayout คือวิธีจัดการกับการปรับขนาดส่วนประกอบ ที่ศูนย์ส่วนประกอบจะใช้พื้นที่ที่เหลือทั้งหมดหลังจากเติมพื้นที่อื่นแล้ว ตัวอย่างเช่น หากคุณปรับขนาดเฟรมศูนย์ปุ่มจะขยายหรือย่อให้พอดีกับพื้นที่ว่าง
ต่อไปนี้เป็นสถานการณ์จริงบางส่วนที่คุณอาจต้องการใช้ BorderLayout ใน Swing Screen สมมติว่าคุณกำลังสร้างแอปพลิเคชันสำหรับเยื่อกระดาษสุราดำโรงงานแปรรูป คุณสามารถใช้ทิศเหนือภูมิภาคเพื่อแสดงโลโก้หรือชื่อโรงงาน ที่ใต้ภูมิภาคอาจมีแถบสถานะแสดงสถานะการทำงานปัจจุบันหรือข้อความแสดงข้อผิดพลาด ที่ตะวันตกและทิศตะวันออกภูมิภาคสามารถนำมาใช้สำหรับเมนูนำทางหรือแผงควบคุมได้ และศูนย์ภูมิภาคสามารถแสดงข้อมูลการประมวลผลหลักหรือฟีดสดจากโรงงานได้
เรามาพูดถึงคุณสมบัติของแต่ละภูมิภาคเพิ่มเติมอีกสักหน่อย
- เหนือและใต้: ขอบเขตเหล่านี้ใช้สำหรับสิ่งที่ควรจะอยู่ที่ด้านบนหรือด้านล่างของหน้าจอ เช่น หัวกระดาษและท้ายกระดาษ พวกมันยืดออกในแนวนอนและมีความสูงคงที่ (โดยปกติแล้วจะเป็นความสูงที่กำหนดโดยส่วนประกอบที่มีอยู่)
- ตะวันออกและตะวันตก: สิ่งเหล่านี้มีไว้สำหรับแถบด้านข้าง พวกมันยืดในแนวตั้งและมีความกว้างคงที่
- ศูนย์: อย่างที่ผมบอกไปแล้วว่ามันกินพื้นที่ที่เหลือทั้งหมด เหมาะสำหรับพื้นที่เนื้อหาหลักของแอปพลิเคชันของคุณ
ตอนนี้เรามาดูกันว่าเกิดอะไรขึ้นเมื่อคุณต้องการเพิ่มองค์ประกอบหลายรายการลงในภูมิภาคเดียว ในกรณีนั้น คุณสามารถใช้ JPanel ได้ กเจพาเนลเป็นคอนเทนเนอร์ที่สามารถเก็บคอมโพเนนต์ได้หลายรายการ และคุณสามารถตั้งค่าตัวจัดการโครงร่างของตัวเองได้
ต่อไปนี้คือวิธีที่คุณสามารถเพิ่มหลายปุ่มลงในทิศเหนือภูมิภาคโดยใช้กเจพาเนล-
นำเข้า javax.swing.*; นำเข้า java.awt.*; MultipleComponentsInRegion ระดับสาธารณะ { โมฆะสาธารณะคง main (String [] args) { JFrame frame = new JFrame ("องค์ประกอบหลายรายการใน NORTH"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(BorderLayout ใหม่()); JPanel northPanel = JPanel ใหม่(); northPanel.setLayout(FlowLayout ใหม่()); JButton button1 = JButton ใหม่ ("ปุ่ม 1"); JButton button2 = JButton ใหม่ ("ปุ่ม 2"); northPanel.add(ปุ่ม1); northPanel.เพิ่ม(button2); frame.add(northPanel, BorderLayout.NORTH); กรอบ.แพ็ค(); frame.setVisible(จริง); -
ในโค้ดนี้เราจะสร้างไฟล์เจพาเนลและกำหนดเค้าโครงเป็นFlowLayout(ตัวจัดการโครงร่างอื่นที่จัดเรียงส่วนประกอบเป็นแถวจากซ้ายไปขวา) จากนั้นเราจะเพิ่มปุ่มสองปุ่มลงในเจพาเนลและเพิ่มเจพาเนลไปที่ทิศเหนือภูมิภาคของBorderLayout-
สิ่งที่ควรทราบอีกประการหนึ่งคือคุณไม่จำเป็นต้องใช้ทั้งห้าภูมิภาค ตัวอย่างเช่น หากคุณต้องการเพียงส่วนหัวและพื้นที่เนื้อหาหลัก คุณก็แค่ใช้ทิศเหนือและศูนย์ภูมิภาค
นำเข้า javax.swing.*; นำเข้า java.awt.*; TwoRegionsExample ระดับสาธารณะ { โมฆะสาธารณะคงหลัก (สตริง [] args) { กรอบ JFrame = ใหม่ JFrame ("สองภูมิภาค"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(BorderLayout ใหม่()); JLabel northLabel = JLabel ใหม่ ("ส่วนหัว"); frame.add(northLabel, BorderLayout.NORTH); JTextArea centerTextArea = new JTextArea("นี่คือเนื้อหาหลัก"); frame.add(centerTextArea, BorderLayout.CENTER); กรอบ.แพ็ค(); frame.setVisible(จริง); -
มาดูคำแนะนำและเคล็ดลับเมื่อใช้ BorderLayout กัน
- การปรับขนาดการพิจารณา: จำไว้ว่า.
ศูนย์ส่วนประกอบจะปรับขนาดให้เต็มพื้นที่ว่าง หากคุณมีส่วนประกอบในภูมิภาคอื่นที่คุณไม่ต้องการปรับขนาด ตรวจสอบให้แน่ใจว่าได้กำหนดขนาดที่ต้องการอย่างเหมาะสม - ลำดับชั้นของส่วนประกอบ: ตามที่แสดงใน
เจพาเนลตัวอย่างเช่น คุณสามารถสร้างลำดับชั้นของส่วนประกอบเพื่อจัดการเค้าโครงที่ซับซ้อนได้ คุณไม่ได้จำกัดอยู่เพียงห้าภูมิภาคของ BorderLayout เท่านั้น คุณสามารถซ้อนคอนเทนเนอร์และเลย์เอาต์อื่นๆ ไว้ภายในได้
หากคุณกำลังทำงานในโครงการที่เกี่ยวข้องกับอุปกรณ์กระดาษ-เยื่อกระดาษ เช่น ระบบควบคุมสำหรับเครื่องทำลายสกรูหรือกตัวกลั่นความสม่ำเสมอปานกลางการใช้ BorderLayout สามารถช่วยให้คุณจัดระเบียบ GUI ของคุณได้อย่างมีประสิทธิภาพ ตัวอย่างเช่น คุณสามารถใช้ตะวันตกสำหรับแผงควบคุมเพื่อปรับความเร็วของเครื่องทำลายเอกสารหรือการตั้งค่าความสม่ำเสมอของเครื่องกลั่น ในขณะที่ศูนย์ภูมิภาคสามารถแสดงข้อมูลการทำงานของอุปกรณ์แบบเรียลไทม์ได้
โดยสรุป BorderLayout เป็นเครื่องมือจัดการเลย์เอาต์ที่ทรงพลังและยืดหยุ่นสำหรับ Swing Screens เหมาะอย่างยิ่งสำหรับการสร้าง GUI แบบเรียบง่ายถึงซับซ้อนปานกลาง ไม่ว่าคุณกำลังสร้างแอปพลิเคชันสำหรับโรงงานกระดาษหรือเยื่อกระดาษหรือระบบประเภทอื่น ๆ การรู้วิธีใช้ BorderLayout จะทำให้คุณมีรากฐานที่มั่นคงสำหรับการสร้างอินเทอร์เฟซที่เป็นระเบียบและใช้งานง่าย


หากคุณสนใจที่จะซื้อโซลูชัน Swing Screen สำหรับธุรกิจหรือโครงการของคุณ เรายินดีเป็นอย่างยิ่งที่จะพูดคุย อย่าลังเลที่จะติดต่อเพื่อหารือเกี่ยวกับการจัดซื้อจัดจ้าง เราสามารถทำงานร่วมกันเพื่อค้นหาเค้าโครงและการออกแบบที่ดีที่สุดสำหรับความต้องการเฉพาะของคุณ
อ้างอิง
- บทช่วยสอน Java - การสร้าง GUI ด้วย Swing ออราเคิล
- สวิง: คู่มือสำหรับผู้เริ่มต้น เฮอร์เบิร์ต สชิลด์.
