การวางซ้อนเลย์เอาต์
- เลย์เอาต์โอเวอร์เลย์ เป็นคลาสย่อยของ Object และสามารถจัดเรียงส่วนประกอบทับกันและใช้การจัดตำแหน่งที่ระบุส่วนประกอบเพื่อวางตำแหน่งให้สัมพันธ์กัน
- เมื่อกำหนดขนาดต่างๆ ให้กับส่วนประกอบใดๆ เราจะเห็นส่วนประกอบทั้งหมด
- ในการจัดวางองค์ประกอบเหนือส่วนอื่นหรือที่ใดก็ได้ในเฟรม เราสามารถใช้สองวิธี setAlignmentX() และ setAlignmentY() . พารามิเตอร์เป็นค่าลอยตัวตั้งแต่ 0.0f ถึง 1.0f OverlayLayout ใช้ค่าสูงสุด 1.0f โดย ค่าเริ่มต้น
- วิธีการที่สำคัญของการวางซ้อนเลย์เอาต์คือ addLayoutComponent(), getTarget() , invalidateLayout() , ขนาดเลย์เอาต์สูงสุด() และอื่นๆ
ตัวอย่าง
import java.awt.*; import javax.swing.*; import javax.swing.OverlayLayout; public class OverlayLayoutTest extends JFrame { public OverlayLayoutTest() { setTitle("OverlayLayout Test"); JPanel panel = new JPanel() { public boolean isOptimizedDrawingEnabled() { return false; } }; LayoutManager overlay = new OverlayLayout(panel); panel.setLayout(overlay); JButton button = new JButton("Small"); button.setMaximumSize(new Dimension(75, 50)); button.setBackground(Color.white); panel.add(button); button = new JButton("Medium Btn"); button.setMaximumSize(new Dimension(125, 75)); button.setBackground(Color.lightGray); panel.add(button); button = new JButton("Large Button"); button.setMaximumSize(new Dimension(200, 100)); button.setBackground(Color.orange); panel.add(button); add(panel, BorderLayout.CENTER); setSize(400, 300); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String args[]) { new OverlayLayoutTest(); } }
ผลลัพธ์