java border类_Swing BorderLayout类

BorderLayout类排列组件适合五个区域:东,西,北,南和中心。每个区域只能包含一个组件,每个区域中的每个组件都由相应的常量:NORTH,SOUTH,EAST,WEST和CENTER标识。

类声明

以下是java.awt.BorderLayout类的声明 -

public class BorderLayout

extends Object

implements LayoutManager2, Serializable

字段

以下是java.awt.BorderLayout类的字段 -

static String AFTER_LAST_LINE - PAGE_END的同义词。

static String AFTER_LINE_ENDS - LINE_END的同义词。

static String BEFORE_FIRST_LINE - PAGE_START的同义词。

static String BEFORE_LINE_BEGINS - LINE_START的同义词。

static String CENTER - 中心布局约束(容器的中间)。

static String EAST - 东部布局约束(容器的右侧)。

static String LINE_END - 组件位于布局的行方向的末尾。

static String LINE_START - 组件位于布局的行方向的开头。

static String NORTH - 北布局约束(容器顶部)。

static String PAGE_END - 组件位于布局内容的最后一行之后。

static String PAGE_START - 组件位于布局内容的第一行之前。

static String SOUTH - 南布局约束(容器的底部)。

static String WEST - 西部布局约束(容器的左侧)。

类构造函数编号

构造函数

描述

1

BorderLayout()

构造一个新的边框布局,组件之间没有间隙。

2

BorderLayout(int hgap, int vgap)

构造具有组件之间指定间隙的边框布局。

类方法编号

类方法

描述

1

void addLayoutComponent(Component comp, Object constraints)

使用指定的约束对象将指定的组件添加到布局中。

2

void addLayoutComponent(String name, Component comp)

如果布局管理器使用每个组件的字符串,则将组件comp添加到布局中,并将其与name指定的字符串相关联。

3

int getHgap()

返回组件之间的水平间隙。

4

float getLayoutAlignmentX(Container parent)

返回沿x轴的对齐方式。

5

float getLayoutAlignmentY(Container parent)

返回沿y轴的对齐方式。

6

int getVgap()

返回组件之间的垂直间隙。

7

void invalidateLayout(Container target)

使布局无效,如果布局管理器缓存了信息,则应将其丢弃。

8

void layoutContainer(Container target)

使用此边框布局布置容器参数。

9

Dimension maximumLayoutSize(Container target)

给定指定目标容器中的组件,返回此布局的最大值。

10

Dimension minimumLayoutSize(Container target)

使用此布局管理器确定目标容器的最小值。

11

Dimension preferredLayoutSize(Container target)

根据容器中的组件,使用此布局管理器确定目标容器的首选大小。

12

void removeLayoutComponent(Component comp)

从此边框布局中删除指定的组件。

13

void setHgap(int hgap)

设置组件之间的水平间隙。

14

void setVgap(int vgap)

设置组件之间的垂直间隙。

15

String toString()

返回此边框布局状态的字符串表示形式。

方法继承

该类继承以下类中的方法 -

java.lang.Object

BorderLayout示例

使用编辑器创建以下Java程序:BorderLayoutDemo.java

package com.yiibai.layout;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class BorderLayoutDemo {

private JFrame mainFrame;

private JLabel headerLabel;

private JLabel statusLabel;

private JPanel controlPanel;

private JLabel msglabel;

public BorderLayoutDemo() {

prepareGUI();

}

public static void main(String[] args) {

BorderLayoutDemo swingLayoutDemo = new BorderLayoutDemo();

swingLayoutDemo.showBorderLayoutDemo();

}

private void prepareGUI() {

mainFrame = new JFrame("Java SWING BorderLayout示例(yiibai.com)");

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 showBorderLayoutDemo() {

headerLabel.setText("Layout in action: BorderLayout");

JPanel panel = new JPanel();

panel.setBackground(Color.darkGray);

panel.setSize(300, 300);

BorderLayout layout = new BorderLayout();

layout.setHgap(10);

layout.setVgap(10);

panel.setLayout(layout);

panel.add(new JButton("中心按钮"), BorderLayout.CENTER);

panel.add(new JButton("行开始"), BorderLayout.LINE_START);

panel.add(new JButton("行结束"), BorderLayout.LINE_END);

panel.add(new JButton("东侧"), BorderLayout.EAST);

panel.add(new JButton("西侧"), BorderLayout.WEST);

panel.add(new JButton("北侧"), BorderLayout.NORTH);

panel.add(new JButton("南侧"), BorderLayout.SOUTH);

controlPanel.add(panel);

mainFrame.setVisible(true);

}

}

执行上面示例代码,得到以下结果 -

8feb4022e40297a3d6c1d3266366c463.png

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值