java布局之BoxLayout

BoxLayout和FlowLayout有点类似,不过BoxLayout既可以横向排列组件,又设置为纵向排列组件,所以它的功能比FlowLayout强大。它总共有四种约束方式

X_AXIS,Y_AXIS,LINE_AXIS,PAGE_AXIS

X_AXIS:组件从左到右横向排列

Y_AXIS:组件从上到下纵向排列

LINE_AXIS:按照行的方式排列,可以从左到右也可以从右到左

PAGE_AXIS:按照页面的方式排列

/*
 * BoxLayoutDemo.java requires no other files.
 */
 
import java.awt.Component;
import java.awt.Container;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class BoxLayouts extends JFrame{
	
	private JButton btn1 = new JButton("Button1");
	private JButton btn2 = new JButton("Button2");
	private JButton btn3 = new JButton("Button3 what a fine day");
	private JButton btn4 = new JButton("Button4 what a fine da");
	private JButton btn5 = new JButton("Button5 what a fine d");
	private J
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,Java GUI中的弹窗(如JDialog)可以使用BoxLayout布局管理器。BoxLayout可以以水平或垂直方向布置组件,并且可以动态调整组件的大小以适应容器大小的更改。 以下是一个简单的示例,演示如何在JDialog中使用BoxLayout: ``` import javax.swing.*; import java.awt.*; public class MyDialog extends JDialog { public MyDialog(JFrame parent) { super(parent, "My Dialog", true); // Create a JPanel with BoxLayout JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // Add some components to the panel panel.add(new JLabel("Enter your name:")); panel.add(new JTextField()); panel.add(new JButton("OK")); panel.add(new JButton("Cancel")); // Add the panel to the dialog getContentPane().add(panel); // Set the size and location of the dialog setSize(300, 200); setLocationRelativeTo(null); } public static void main(String[] args) { // Create a JFrame to hold the dialog JFrame frame = new JFrame("My Frame"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Create a button to show the dialog JButton button = new JButton("Show Dialog"); button.addActionListener(e -> { MyDialog dialog = new MyDialog(frame); dialog.setVisible(true); }); // Add the button to the frame frame.getContentPane().add(button); // Set the size and location of the frame frame.setSize(400, 300); frame.setLocationRelativeTo(null); frame.setVisible(true); } } ``` 在这个示例中,我们创建了一个JPanel,使用BoxLayout以垂直方向布置组件。然后,我们将该面板添加到JDialog的内容面板中,并在JFrame中显示一个按钮,用于显示对话框。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值