What is the importance of OverlayLayout in Java?
叠加层
- OverlayLayout是Objectclass的子类,它可以将组件布置在彼此的顶部,并使用组件指定的对齐方式将它们相对放置。
- 当给各个组件指定不同的大小时,我们可以看到所有组件。
- 要使组件在框架中的其他位置或其他位置对齐,可以使用两种方法setAlignmentX()和setAlignmentY()。 这些参数是从0.0f到1.0f的浮动值。 OverlayLayout的最大值为1.0fbydefault。
-
OverlayLayout的重要方法是addLayoutComponent(),
getTarget(),invalidateLayout(),maximumLayoutSize()等。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 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(); } } |
输出量