Java Swing 盒布局管理器
Swing 盒布局管理器
因为项目的原因,重新看看swing的东西,在想要将两个横向的容器纵向表示的时候,发现用盒布局
话不多说,直接代码
package ui;
import javax.swing.*;
public class TestDemoDock {
public static void main(String[] agrs)
{
JFrame frame=new JFrame("盒布局管理器示例");
Box b1=Box.createHorizontalBox(); //创建横向Box容器
Box b2=Box.createHorizontalBox(); //创建横向Box容器
Box b3=Box.createVerticalBox(); //创建纵向Box容器
b3.add(b1);
b3.add(b2);
frame.add(b3);
// frame.add(b1); //将外层横向Box添加进窗体
// b1.add(Box.createVerticalStrut(150)); //添加高度为150的垂直框架
b1.add(new JButton("1")); //添加按钮1
b1.add(Box.createHorizontalStrut(200)); //添加长度为200的水平框架
b1.add(new JButton("2")); //添加按钮2
b1.add(Box.createHorizontalStrut(350)); //添加长度为350的水平框架
b1.add(new JButton("3")); //添加按钮3
b1.add(Box.createHorizontalStrut(200)); //添加长度为200的水平框架
b1.add(Box.createHorizontalGlue()); //添加水平
// b1.add(b2); //添加嵌套的纵向Box容器
//添加宽度为100,高度为100的固定区域
// b2.add(Box.createRigidArea(new Dimension(100,100)));
// b2.add(Box.createVerticalStrut(200)); //添加长度为200的垂直框架
b2.add(new JButton("4")); //添加按钮4
b2.add(Box.createHorizontalStrut(400)); //添加长度为400的水平框架
b2.add(new JButton("5")); //添加按钮5
b2.add(Box.createHorizontalStrut(150)); //添加长度为150的水平框架
b2.add(new JButton("6")); //添加按钮6
b2.add(Box.createHorizontalGlue()); //添加水平
//设置窗口的关闭动作、标题、大小位置以及可见性等
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100,100,750,480);
frame.setVisible(true);
}
}
如图所示
试了一下,把下拉框和复选框进行操作
package ui;
import javax.swing.*;
public class TestDemoXList {
public static void main(String[] args)
{
JFrame frame=new JFrame("Java下拉列表组件示例");
Box b1=Box.createHorizontalBox(); //创建横向Box容器
Box b2=Box.createHorizontalBox(); //创建横向Box容器
Box b3=Box.createVerticalBox(); //创建纵向Box容器
JPanel jp=new JPanel(); //创建面板
JLabel label1=new JLabel("卡机地点"); //创建标签
JComboBox cmb=new JComboBox(); //创建JComboBox
cmb.addItem(""); //向下拉列表中添加一项
cmb.addItem("北京");
cmb.addItem("上海");
cmb.addItem("深圳");
// cmb.setBounds(20,20,200,20);
// cmb.setPreferredSize(new Dimension(200,30));
JCheckBox chkbox1=new JCheckBox("C#", true); //创建指定文本和状态的复选框
JCheckBox chkbox2=new JCheckBox("C++"); //创建指定文本的复选框
JCheckBox chkbox3=new JCheckBox("Java"); //创建指定文本的复选框
jp.add(label1);
jp.add(cmb);
jp.add(chkbox1);
jp.add(chkbox2);
jp.add(chkbox3);
b1.add(label1);
b1.add(cmb);
b2.add(jp);
b3.add(b1);
b3.add(b2);
frame.add(b3);
// frame.add(jp);
// b1.add(Box.createHorizontalGlue()); //添加水平
// b1.add(Box.createVerticalStrut(20)); //添加高度为20的垂直框架
frame.setBounds(0,0,750,480);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
如图所示
这个下拉框不知道为什么会自动拉满,就很烦,不过好歹说明了这个是可以放成两行的
您能读到这儿,我呢是发自真心的感谢您,若要转载,还望请您带上链接