java jpanel 居中_java将组件居中的方法

java将组件居中的方法

发布时间:2020-05-18 13:53:04

来源:亿速云

阅读:379

作者:小新

今天小编给大家分享的是java将组件居中的方法,相信很多人都不太了解,为了让大家更加了解java将组件居中的方法,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

Java Swing 是一个为Java设计的GUI工具包。Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

8f7148dc67f7d2ba1d279821fda05761.png

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

Java Swing 中有许多组件,怎么设置居中?这里提供了几个案例可供参考。

8a890c0c9526a61a53e80f8a37fe52f7.png

案例一:设置窗体居中import java.awt.Toolkit;

import javax.swing.JFrame;

@SuppressWarnings("serial")

public class AppWindows extends JFrame {

// 得到显示器屏幕的宽高

public int width = Toolkit.getDefaultToolkit().getScreenSize().width;

public int height = Toolkit.getDefaultToolkit().getScreenSize().height;

// 定义窗体的宽高

public int windowsWedth = 600;

public int windowsHeight = 600;

public AppWindows() {

// 设置窗体可见

this.setVisible(true);

// 设置窗体位置和大小

this.setBounds((width - windowsWedth) / 2,

(height - windowsHeight) / 2, windowsWedth, windowsHeight);

}

public static void main(String[] args) {

new AppWindows();

}

}

案例二:设置面板居中JPanel jPanel1=new Jpanel();//new一个Jpanel

BorderLayout bb=new BorderLayout(); //边界布局,设置控件垂直居中

jPanel1.setLayout(bb);

jLabel1.setHorizontalAlignment(SwingConstants.CENTER); //设置控件左右居中

案例三:用流式布局的话是(FlowLayout)默认居中的。(Panel和Frame)

以上就是java将组件居中的方法的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注亿速云行业资讯频道哦!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将一个 JPanel 垂直居中,可以使用 BoxLayout 布局管理器。首先将 JPanel 添加到一个 JFrame 中,然后将 JFrame 的布局管理器设置为 BoxLayout,并将 JPanel 的最大高度和最大宽度设置为 Integer.MAX_VALUE,这样就可以让 JPanel 在垂直方向上填满整个 JFrame。接着在 JPanel 中添加一个空白的组件设置其最小高度为 JFrame 的高度减去 JPanel 中所有其他组件的高度之和,这样这个空白组件就会占据剩余的空间,从而实现垂直居中布局。下面是一个简单的示例代码: ```java import javax.swing.*; import java.awt.*; public class VerticalCenterPanelExample { public static void main(String[] args) { JFrame frame = new JFrame("Vertical Center Panel Example"); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.setBackground(Color.WHITE); panel.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); JLabel label1 = new JLabel("Label 1"); JLabel label2 = new JLabel("Label 2"); JLabel label3 = new JLabel("Label 3"); panel.add(label1); panel.add(label2); panel.add(label3); panel.add(Box.createVerticalGlue()); int height = frame.getHeight() - panel.getPreferredSize().height; Dimension minSize = new Dimension(0, height); Dimension prefSize = new Dimension(0, height); Dimension maxSize = new Dimension(Integer.MAX_VALUE, height); panel.add(new Box.Filler(minSize, prefSize, maxSize)); frame.getContentPane().add(panel); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } } ``` 在这个示例中,我们创建了一个 JFrame 和一个 JPanel。然后将 JPanel 的布局管理器设置为 BoxLayout,并将其最大高度和最大宽度设置为 Integer.MAX_VALUE。接着在 JPanel 中添加了三个 JLabel 组件和一个空白的组件,使用 Box.createVerticalGlue() 方法创建这个空白组件,并设置其最小高度为 JFrame 的高度减去 JPanel 中所有其他组件的高度之和。最后将 JPanel 添加到 JFrame 中,并使用 setLocationRelativeTo(null) 方法将 JFrame 垂直居中显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值