Swing界面布局(FormLayout)

    技术2022-05-20  48

    FormLayout layout= new FormLayout("5dlu,40dlu:grow,5dlu,20dlu:grow,5dlu,100dlu:grow,5dlu"

                                                 ,"min");

    layout.setColumnGroups(new int[][]{{2, 4}});  //分组

                 

    FormDebugPanel panel = new FormDebugPanel();  //调试面板

                 

    panel.setLayout(layout);

                 

    CellConstraints c = new CellConstraints();

     

    panel.add(createLabel("label2",100,200),c.xy(2, 1,CellConstraints.LEFT,CellConstraints.TOP)); //方向F

     

    panel.add(createLabel("label4",100,100),c.xy(4, 1));

     

    panel.add(createLabel("label6",100,100),c.xy(6, 1));

     

    <1>:表示高度 对齐方式有TOP,BOTTOM,FILL(组件占据整行),CENTER

       :表示宽度 对齐方式有LEFT,RIGHT,FIL(组件占据整列),CENTER

     

    <2>修饰单位:

    :pref(p)组件实际大小,fill

       :minx组件最小大小

       :max(50dlu:pref)最大50dlu

     

    <3>其他举例

    fill:100dlu:grow(0.50)

     

    <4>Swing中设置的组件大小和dlu单位的比是1:2

     label.setPreferredSize(new Dimension(prefWidth, prefHeight));


    最新回复(0)