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+ 瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始吧
廣告