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();
   }
}

输出

更新于:2020 年 2 月 10 日

1K+ 浏览

开启你的 职业生涯

通过完成课程获得认证

开始吧
广告