BorderLayout如何实现布局的灵活调整和长尾组件的合理分布?

2026-04-02 00:521阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计467个文字,预计阅读时间需要2分钟。

BorderLayout如何实现布局的灵活调整和长尾组件的合理分布?

边框布局配置容器,合理排列和调整组件的大小以适应五个区域:南北东西和中心。每个区域可包含不超过一个组件,例如:javap.setLayout(new BorderLayout());p.add(new Button(Okay), BorderLayout.SOUTH); 方便观察。

边框布局布置容器安排和调整其组件的大小以适应五个区域北南东西和中心。每个区域可以含有不超过一个部件

p.setLayout(new BorderLayout());

BorderLayout如何实现布局的灵活调整和长尾组件的合理分布?

p.add(new Button("Okay"), BorderLayout.SOUTH);

为方便起见, BorderLayout解释缺少字符串规范与常量CENTER相同:

Panel p2 = new Panel();

p2.setLayout(new BorderLayout());

p2.add(new TextArea()); // Same as p.add(new TextArea(), BorderLayout.CENTER);

此外, BorderLayout支持相对定位的常数, PAGE_START , PAGE_END , LINE_START ,和LINE_END 。 在容器中,其ComponentOrientation被设置为ComponentOrientation.LEFT_TO_RIGHT ,这些常数映射到NORTH , SOUTH , WEST ,和EAST分别。

对于与以前版本的兼容性, BorderLayout还包括相对定位常数BEFORE_FIRST_LINE , AFTER_LAST_LINE , BEFORE_LINE_BEGINS和AFTER_LINE_ENDS 。 这些等同于PAGE_START , PAGE_END , LINE_START和LINE_END分别。 为了与其他组件使用的相对定位常数保持一致,后一常数是优选的。

混合绝对和相对定位常数会导致不可预测的结果。 如果使用这两种类型,则相对常量优先。 例如,如果在方向为LEFT_TO_RIGHT的容器中同时使用NORTH和PAGE_START常量添加组件,则只会布置PAGE_START 。

注意:目前, BorderLayout不支持垂直方向。 容器的ComponentOrientation上的isVertical设置未得到遵守。

组件根据其优选尺寸和容器尺寸的限制来布置。 NORTH和SOUTH组件可以水平拉伸; EAST和WEST组件可以垂直拉伸; CENTER组件可以水平和垂直拉伸以填充剩余的空间。

以下是使用BorderLayout布局管理器布局的applet中的五个按钮的示例:

这个applet的代码如下:

import java.awt.*;

import java.applet.Applet;

public class buttonDir extends Applet {

public void init() {

setLayout(new BorderLayout());

add(new Button("North"), BorderLayout.NORTH);

add(new Button("South"), BorderLayout.SOUTH);

add(new Button("East"), BorderLayout.EAST);

add(new Button("West"), BorderLayout.WEST);

add(new Button("Center"), BorderLayout.CENTER);

}

}

本文共计467个文字,预计阅读时间需要2分钟。

BorderLayout如何实现布局的灵活调整和长尾组件的合理分布?

边框布局配置容器,合理排列和调整组件的大小以适应五个区域:南北东西和中心。每个区域可包含不超过一个组件,例如:javap.setLayout(new BorderLayout());p.add(new Button(Okay), BorderLayout.SOUTH); 方便观察。

边框布局布置容器安排和调整其组件的大小以适应五个区域北南东西和中心。每个区域可以含有不超过一个部件

p.setLayout(new BorderLayout());

BorderLayout如何实现布局的灵活调整和长尾组件的合理分布?

p.add(new Button("Okay"), BorderLayout.SOUTH);

为方便起见, BorderLayout解释缺少字符串规范与常量CENTER相同:

Panel p2 = new Panel();

p2.setLayout(new BorderLayout());

p2.add(new TextArea()); // Same as p.add(new TextArea(), BorderLayout.CENTER);

此外, BorderLayout支持相对定位的常数, PAGE_START , PAGE_END , LINE_START ,和LINE_END 。 在容器中,其ComponentOrientation被设置为ComponentOrientation.LEFT_TO_RIGHT ,这些常数映射到NORTH , SOUTH , WEST ,和EAST分别。

对于与以前版本的兼容性, BorderLayout还包括相对定位常数BEFORE_FIRST_LINE , AFTER_LAST_LINE , BEFORE_LINE_BEGINS和AFTER_LINE_ENDS 。 这些等同于PAGE_START , PAGE_END , LINE_START和LINE_END分别。 为了与其他组件使用的相对定位常数保持一致,后一常数是优选的。

混合绝对和相对定位常数会导致不可预测的结果。 如果使用这两种类型,则相对常量优先。 例如,如果在方向为LEFT_TO_RIGHT的容器中同时使用NORTH和PAGE_START常量添加组件,则只会布置PAGE_START 。

注意:目前, BorderLayout不支持垂直方向。 容器的ComponentOrientation上的isVertical设置未得到遵守。

组件根据其优选尺寸和容器尺寸的限制来布置。 NORTH和SOUTH组件可以水平拉伸; EAST和WEST组件可以垂直拉伸; CENTER组件可以水平和垂直拉伸以填充剩余的空间。

以下是使用BorderLayout布局管理器布局的applet中的五个按钮的示例:

这个applet的代码如下:

import java.awt.*;

import java.applet.Applet;

public class buttonDir extends Applet {

public void init() {

setLayout(new BorderLayout());

add(new Button("North"), BorderLayout.NORTH);

add(new Button("South"), BorderLayout.SOUTH);

add(new Button("East"), BorderLayout.EAST);

add(new Button("West"), BorderLayout.WEST);

add(new Button("Center"), BorderLayout.CENTER);

}

}