外贸网站建站那家公司好,怎么自己设置网站模板,最好网站建设公司哪家好,文字图片一键生成器一、布局管理器
弹簧布局管理器以容器和组件的边缘为操作对象#xff0c;通过组件与容器边缘以及组件与组件边缘建立约束(建立位置关系)#xff0c;实现对组件的布局管理。主要通过函数putConstraint(Strting s1,Component c1,int len,Strting s2,Component c2);当s2在s1的北…一、布局管理器
弹簧布局管理器以容器和组件的边缘为操作对象通过组件与容器边缘以及组件与组件边缘建立约束(建立位置关系)实现对组件的布局管理。主要通过函数putConstraint(Strting s1,Component c1,int len,Strting s2,Component c2);当s2在s1的北方或西方时len为正数当s2在s1的南方或东方时len为负数。
参数说明s1需要参考的组件需要布局的组件对象的具体需要参考的边c1需要参考的组件需要布局的组件对象s2被参考的组件对象的具体需要参考的边c2被参考的组件对象或组件所属的容器对象len两条边之间的距离即两对象的某个边缘的间隔
弹簧布局方式界面的布局会根据窗口大小的拉伸进行调整但是组件的相对位置不会改变。通过这种方式在水平方向或垂直方向上的任意两条边之间都可以建立约束以实现组件的自适应变化。组件的大小受其文本大小的影响有时可能或破坏布局这可以调整文本长度来适应或直接设置组件大小使布局更美观。二、用法及效果 我们所有的组件都放在窗口容器中,先设置界面的布局方式以及创建一个容器。SpringLayout springLayout new SpringLayout();//使用弹簧布局管理器Container contentPane getContentPane(); //创建一个容器contentPane.setLayout(springLayout); //设置布局方式
随机生成按钮的放置按钮的北部与容器的北部距离x以及按钮的西部以容器的西部距离y则设置如下这种设置按钮的调整受两条边约束
JButton c1 new JButton(随机生成);//按钮定义及其布局位置设置//位置约束c1,contentPane分别为按钮对象和容器对象
springLayout.putConstraint(SpringLayout.NORTH, c1, x, SpringLayout.SOUTH, contentPane);
springLayout.putConstraint(SpringLayout.WEST, c1, y, SpringLayout.WEST, contentPane);
同时开始按钮的放置按钮的北部与文字标签的南部距离x以及按钮的东部以容器的东部距离y(容器在按钮的东部所以代码中需要设置距离为负数)则设置如下这种设置按钮的调整受两条边约束当窗口大小改变时按钮位置发生改变当是其相对位置不变。
//按钮定义及其布局位置设置
JButton c1 new JButton(同时开始);//lab为JLabel lab new JLabel(请单击按钮生成20000个0~100000的整数.)对象
springLayout.putConstraint(SpringLayout.NORTH, c1, x, SpringLayout.SOUTH, lab);
springLayout.putConstraint(SpringLayout.EAST, c1, -y, SpringLayout.EAST, contentPane);
对于中间的文本框需要设置三个方向的约束
//需要布局的编辑框edit,e为其北部编辑框,距离xt为其西部文本标签距离yc为容器距离z
springLayout.putConstraint(SpringLayout.NORTH, edit, x, SpringLayout.SOUTH, e);
springLayout.putConstraint(SpringLayout.WEST, edit, y, SpringLayout.EAST, t);
springLayout.putConstraint(SpringLayout.EAST, edit, -z, SpringLayout.EAST,c);
三、按钮事件绑定
SpringLayout springLayout new SpringLayout();
Container contentPane getContentPane();
contentPane.setLayout(springLayout);//按钮定义及其布局位置设置
JButton start new JButton(随机生成);
contentPane.add(start);
springLayout.putConstraint(SpringLayout.NORTH, start, 10, SpringLayout.NORTH, contentPane);
springLayout.putConstraint(SpringLayout.WEST, start, 10, SpringLayout.WEST, contentPane);//为按钮绑定响应事件
start.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent e) {for (int i 0; i 20000; i) {Array[i] (int) (Math.random() * 100000);}lab.setText(成功生成20000个0~100000的整数.);}
});