OverlayLayout 在 Java 中的重要性是什麼?
OverlayLayout
- 一個 OverlayLayout 是 Object 類的子類,它可以把元件排列在彼此的頂部,並且使用元件指定的對齊方式來按相對位置放置它們。
- 當為任何元件指定了不同的大小時,我們可以看到所有元件。
- 要將元件按相對位置或在框架中的任何位置對齊,我們可以使用兩個方法 setAlignmentX() 和 setAlignmentY()。引數是介於 **0.0f** 與 **1.0f** 之間的浮動值。預設情況下,一個 OverlayLayout 採用最大的 **1.0f 。
- OverlayLayout 的重要方法是 addLayoutComponent(), getTarget(), invalidateLayout(), maximumLayoutSize() 等等。
示例
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(); } }
輸出
廣告