#javaGUI#基于swing包的java用户界面设置入门,布局篇

来源:互联网 发布:网络考试平台 编辑:程序博客网 时间:2024/06/05 06:25

java的几种基础的布局管理器为FlowLayout(流水布局)、BorderLayout(边界布局)、GridLayout(网格布局)、CardLayout(卡片布局),还有其他几种更复杂的布局管理器这里就不做示例了。
示例代码如下:

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class layout_try extends JFrame{    public layout_try(){        setTitle("布局管理器");        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setLayout(new FlowLayout());        //流水布局,panel类容器默认的布局管理器,组件位置会随着窗口大小移动        //new FlowLayout(FlowLayout.LEFT,10,20)参数指明组件间水平间距为10个像素,垂直间距为20个像素,每行组件向左看齐        //若不指明,默认间隔为5个像素        JButton bu_1 = new JButton("线性代数");        JButton bu_2 = new JButton("离散数学");        JButton bu_3 = new JButton("数字逻辑");        add(bu_1);        add(bu_2);        add(bu_3);        setLayout(new BorderLayout());        //边界布局,采用东西南北中五个区域放置组件        add("East",new JButton("篮球"));        add("Center",new JButton("足球"));        add("North",new Checkbox("check"));        setLayout(new GridLayout(3,4));        //网格布局,按指定行列数等分成网格,每格放一个组件        //组件默认间距为0,若要指定间距,如(4,3,5,5),即设置水平和垂直间距为5个像素        //GridBagLayout为网格包布局,升级版的GridLayout,可以安排大小不一的组件等        for(int i=1;i<=9;i++){            add(new JButton(""+i));        }        CardLayout card = new CardLayout();        setLayout(card);        //卡片布局,像一叠卡片,每张卡片代表一种不同的布局,每次只有一张在最上面显示出来        //card.next(容器名称)   显示容器中当前组件之后的一个组件,若当前组件为最后添加的组件,则显示第一个组件,即卡片组件显示是循环的。        //card.first(容器名称)   显示容器中第一个组件        //card.last(容器名称)   显示容器中最后一个组件        //card.previous(容器名称)  显示容器中当前组件之前的一个组件。        Choice ch = new Choice();        JPanel jp=new JPanel();        jp.add(ch);        add(jp);        for(int i=1;i<=4;i++){            ch.add(""+i);//单独填i会报错,前面加个String类空项即可        }//之后可加事件响应实现不同卡片的切换,此处不做示例    }    public static void main(String[] s){        layout_try f = new layout_try();        f.pack();        f.setVisible(true);    }}
原创粉丝点击