การวางซ้อนเลย์เอาต์
- เลย์เอาต์โอเวอร์เลย์ เป็นคลาสย่อยของ 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();
}
} ผลลัพธ์
