java swing 空白_关于Java:在Swing GUI中提供空白

本文探讨了如何在Java Swing GUI中添加空白,以提高视觉效果。介绍了使用不同的LayoutManager,如BorderLayout、FlowLayout、GridLayout和GridBagLayout,以及通过调整间隔和边距实现空白的方法。示例代码展示了如何在组件之间设置间隙,创建美观的用户界面。
摘要由CSDN通过智能技术生成

没有空格的GUI显得"拥挤"。 如何提供空白而不诉诸显式设置组件的位置或大小? -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------

例如CardLayout(int,int),FlowLayout(int,int,int)和GridLayout(int,int,int,int),另一个示例GridLayout(int,int,int,int)和GridBagLayout()使用GridBagConstraints.insets

使用支持语义术语上的空白的LayoutManager。 您会看到它的到来,::) MigLayout可以帮助您:定义一个网格以及它们之间的间隙,例如相关的,不相关的段落-仅添加组件

使用各种LayoutManagers可以在各种组件之间提供间隔。

1.)BorderLayout:

重载的构造方法:BorderLayout(int horizo??ntalGap,int verticalGap)

获取和设置方法

对于水平间距:BorderLayout.getHgap()和BorderLayout.setHgap(int hgap)

对于垂直间距:BorderLayout.getVgap()和BorderLayout.setVgap()

2.)FlowLayout:

重载的构造方法:FlowLayout(int align,int hgap,int vgap)

获取和设置方法

对于水平间距:FlowLayout.getHgap()和FlowLayout.setHgap(int hgap)

对于垂直间距:FlowLayout.getVgap()和FlowLayout.setVgap()

3.)GridLayout:

重载的构造方法:GridLayout(int行,int列,int hgap,int vgap)

获取和设置方法

对于水平间距:GridLayout.getHgap()和GridLayout.setHgap(int hgap)

对于垂直间距:GridLayout.getVgap()和GridLayout.setVgap()

4.)GridBagLayout:

GridBagConstraints.insets

5.)CardLayout(示例):

CardLayout(int hGap,int vGap)

显示操作中所有构造函数的示例:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class LayoutExample {

private final int hGap = 5;

private final int vGap = 5;

private String[] borderConstraints = {

BorderLayout.PAGE_START,

BorderLayout.LINE_START,

BorderLayout.CENTER,

BorderLayout.LINE_END,

BorderLayout.PAGE_END

};

private JButton[] buttons;

private GridBagConstraints gbc;

private JPanel borderPanel;

private JPanel flowPanel;

private JPanel gridPanel;

private JPanel gridBagPanel;

private JPanel cardPanel;

public LayoutExample() {

buttons = new JButton[16];

gbc = new GridBagConstraints();

gbc.anchor = GridBagConstraints.FIRST_LINE_START;

gbc.insets = new Insets(hGap, vGap, hGap, vGap);

}

private void displayGUI() {

JFrame frame = new JFrame("Layout Example");

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

JPanel contentPane = new JPanel(

new GridLayout(0, 1, hGap, vGap));

contentPane.setBorder(

BorderFactory.createEmptyBorder(hGap, vGap, hGap, vGap));

borderPanel = new JPanel(new BorderLayout(hGap, vGap));

borderPanel.setBorder(

BorderFactory.createTitledBorder("BorderLayout"));

borderPanel.setOpaque(true);

borderPanel.setBackground(Color.WHITE);

for (int i = 0; i < 5; i++) {

buttons[i] = new JButton(borderConstraints[i]);

borderPanel.add(buttons[i], borderConstraints[i]);

}

contentPane.add(borderPanel);

flowPanel = new JPanel(new FlowLayout(

FlowLayout.CENTER, hGap, vGap));

flowPanel.setBorder(

BorderFactory.createTitledBorder("FlowLayout"));

flowPanel.setOpaque(true);

flowPanel.setBackground(Color.WHITE);

for (int i = 5; i < 8; i++) {

buttons[i] = new JButton(Integer.toString(i));

flowPanel.add(buttons[i]);

}

contentPane.add(flowPanel);

gridPanel = new JPanel(new GridLayout(2, 2, hGap, vGap));

gridPanel.setBorder

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值