zoukankan      html  css  js  c++  java
  • 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);
        }
    }
    

    如图所示

    image

    试了一下,把下拉框和复选框进行操作

    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);
        }
    }
    

    如图所示

    image

    这个下拉框不知道为什么会自动拉满,就很烦,不过好歹说明了这个是可以放成两行的

    您能读到这儿,我呢是发自真心的感谢您,若要转载,还望请您带上链接
  • 相关阅读:
    Linux密码文件介绍
    MongoDB与微服务
    MongoDB应用场景及选型
    MongoDB性能诊断工具
    1.7每日进度
    《架构即未来》(3)
    《架构即未来》(2)
    论面向服务架构设计
    浅谈MVC设计模式
    《架构即未来》(1)
  • 原文地址:https://www.cnblogs.com/jokingremarks/p/15152564.html
Copyright © 2011-2022 走看看