
- Swing 教程
- Swing - 首頁
- Swing - 概述
- Swing - 環境
- Swing - 控制元件
- Swing - 事件處理
- Swing - 事件類
- Swing - 事件監聽器
- Swing - 事件介面卡
- Swing - 佈局
- Swing - 選單
- Swing - 容器
- Swing 有用資源
- Swing - 快速指南
- Swing - 有用資源
- Swing - 討論
Swing - GridBagLayout 類
介紹
GridBagLayout 類以水平和垂直方式排列元件。
類宣告
以下是java.awt.GridBagLayout類的宣告:
public class GridBagLayout extends Object implements LayoutManager2, Serializable
欄位
以下是java.awt.GridBagLayout類的欄位:
static int DEFAULT_SIZE - 指示應為特定範圍值使用元件或間隙的大小。
static int PREFERRED_SIZE - 指示應為特定範圍值使用元件或間隙的首選大小。
類建構函式
序號 | 建構函式和描述 |
---|---|
1 |
GridBagLayout() 建立一個網格包佈局管理器。 |
類方法
序號 | 方法和描述 |
---|---|
1 |
void addLayoutComponent(Component comp, Object constraints) 使用指定的約束物件將指定的元件新增到佈局。 |
2 |
void addLayoutComponent(String name, Component comp) 將指定的元件及其名稱新增到佈局。 |
3 |
protected void adjustForGravity(GridBagConstraints constraints, Rectangle r) 根據約束幾何形狀和填充調整x、y寬度和高度欄位到正確的值。 |
4 |
protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r) 此方法已過時,僅出於向後相容性而提供;新程式碼應呼叫adjustForGravity。 |
5 |
protected void arrangeGrid(Container parent) 佈置網格。 |
6 |
protected void ArrangeGrid(Container parent) 此方法已過時,僅出於向後相容性而提供;新程式碼應呼叫arrangeGrid。 |
7 |
GridBagConstraints getConstraints(Component comp) 獲取指定元件的約束。 |
8 |
float getLayoutAlignmentX(Container parent) 返回沿x軸的對齊方式。 |
9 |
float getLayoutAlignmentY(Container parent) 返回沿y軸的對齊方式。 |
10 |
int[][] getLayoutDimensions() 確定佈局網格的列寬和行高。 |
11 |
protected java.awt.GridBagLayoutInfo getLayoutInfo(Container parent, int sizeflag) 為當前管理的子項填充GridBagLayoutInfo例項。 |
12 |
protected java.awt.GridBagLayoutInfo GetLayoutInfo(Container parent, int sizeflag) 此方法已過時,僅出於向後相容性而提供;新程式碼應呼叫getLayoutInfo。 |
13 |
Point getLayoutOrigin() 確定佈局區域的原點,位於目標容器的圖形座標空間中。 |
14 |
double[][] getLayoutWeights() 確定佈局網格的列和行的權重。 |
15 |
protected Dimension getMinSize(Container parent, java.awt.GridBagLayoutInfo info) 根據getLayoutInfo()中的資訊計算主體的最小大小。 |
16 |
protected Dimension GetMinSize(Container parent, java.awt.GridBagLayoutInfo info) 此方法已過時,僅出於向後相容性而提供;新程式碼應呼叫getMinSize。 |
17 |
void invalidateLayout(Container target) 使佈局無效,指示如果佈局管理器已快取資訊,則應將其丟棄。 |
18 |
void layoutContainer(Container parent) 使用此網格包佈局佈置指定的容器。 |
19 |
Point location(int x, int y) 確定佈局網格中哪個單元格包含(x, y)指定的點。 |
20 |
protected GridBagConstraints lookupConstraints(Component comp) 檢索指定元件的約束。 |
21 |
Dimension maximumLayoutSize(Container target) 返回給定指定目標容器中元件的此佈局的最大尺寸。 |
22 |
Dimension minimumLayoutSize(Container parent) 使用此網格包佈局確定父容器的最小大小。 |
23 |
Dimension preferredLayoutSize(Container parent) 使用此網格包佈局確定父容器的首選大小。 |
24 |
void removeLayoutComponent(Component comp) 從此佈局中刪除指定的元件。 |
25 |
void setConstraints(Component comp, GridBagConstraints constraints) 設定此佈局中指定元件的約束。 |
26 |
String toString() 返回此網格包佈局值的字串表示形式。 |
繼承的方法
此類繼承自以下類的方法:
- java.lang.Object
GridBagLayout 示例
使用您選擇的任何編輯器建立以下 Java 程式,例如在D:/ > SWING > com > tutorialspoint > gui >中。
SwingLayoutDemo.java
package com.tutorialspoint.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingLayoutDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; private JLabel msglabel; public SwingLayoutDemo(){ prepareGUI(); } public static void main(String[] args){ SwingLayoutDemo swingLayoutDemo = new SwingLayoutDemo(); swingLayoutDemo.showGridBagLayoutDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Java SWING Examples"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); headerLabel = new JLabel("",JLabel.CENTER ); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showGridBagLayoutDemo(){ headerLabel.setText("Layout in action: GridBagLayout"); JPanel panel = new JPanel(); panel.setBackground(Color.darkGray); panel.setSize(300,300); GridBagLayout layout = new GridBagLayout(); panel.setLayout(layout); GridBagConstraints gbc = new GridBagConstraints(); gbc.fill = GridBagConstraints.HORIZONTAL; gbc.gridx = 0; gbc.gridy = 0; panel.add(new JButton("Button 1"),gbc); gbc.gridx = 1; gbc.gridy = 0; panel.add(new JButton("Button 2"),gbc); gbc.fill = GridBagConstraints.HORIZONTAL; gbc.ipady = 20; gbc.gridx = 0; gbc.gridy = 1; panel.add(new JButton("Button 3"),gbc); gbc.gridx = 1; gbc.gridy = 1; panel.add(new JButton("Button 4"),gbc); gbc.gridx = 0; gbc.gridy = 2; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.gridwidth = 2; panel.add(new JButton("Button 5"),gbc); controlPanel.add(panel); mainFrame.setVisible(true); } }
使用命令提示符編譯程式。轉到D:/ > SWING並鍵入以下命令。
D:\SWING>javac com\tutorialspoint\gui\SwingLayoutDemo.java
如果未出現錯誤,則表示編譯成功。使用以下命令執行程式。
D:\SWING>java com.tutorialspoint.gui.SwingLayoutDemo
驗證以下輸出。
