基于上一课的窗体实现,调整大小后,今天了解一下窗体上的组件和布局;
老规矩,上来第一件事是先new一个 JPanel()对象:布局方法类
JPanel jPanel = new JPanel();//new一个JPanel的对象
ts.add(jPanel);//把该对象添加到ts窗体中
下一步是写个方法,该方法里是窗体布局上的一些组件方法:
public void addlogin( JPanel jPanel){
jPanel.setLayout( null); //布局方式一共有五种,这里用的是null
JLabel jLabel = new JLabel("登录");//添加文本标签组件
jLabel.setBounds(200,30,100,10);//设置该组件在布局中的位置
jPanel.add(jLabel);//将该组件添加到jLabel布局中
JLabel user = new JLabel("账号");
user.setBounds(70,80,100,10);
jPanel.add(user);
JTextField jTextField = new JTextField();
jTextField.setBounds(110,70,240,30);
jPanel.add(jTextField);
JLabel password = new JLabel("密码");
password.setBounds(70,140,100,10);
jPanel.add(password);
JPasswordField jPasswordField = new JPasswordField();
jPasswordField.setBounds(110,130,240,30);
jPanel.add(jPasswordField);
JButton jButton = new JButton("登录");
jButton.setBounds(70,190,280,30);
jPanel.add(jButton);
}
这里方法写好之后,一定要先在Main方法中调用这个布局方法。
new Main().addlogin(jPanel);//调用布局方法
然后运行看一下效果,大小合适,位置居中,风水上位;不算漂亮也不算丑,将就用吧,
还有好多设置没加,比如布局的背景,字体样式,窗体风格等;我觉得还是不要太花里胡哨的好;
总结:
JPanel jPanel = new JPanel();//Jpanel方法类,new一个对象 ts.add(jPanel);//将该布局添加到ts窗体中
Jpanel是创建布局的一个方法类,然后将该布局添加到叫ts的窗体中
还有就是布局方式,常见的有五种:
1、 边界布局(BorderLayout)
2、流式布局(FlowLayout)
3、网格布局(GridLayout)
4、盒子布局(BoxLaYout)
5、空布局(null)
看心情哪种合适就用哪种;本次学习中,我们用的是空布局,应为登录窗口的大小被我给定死了,用户是无法随意更改窗口大小的,所以直接用空布局,然后再定位相关组件的位置;
在布局方法中,设置布局方式为空布局,再new个组件,其中有按钮、单选框、复选框、下拉菜单等组件,看需求,这里就不一一演示了;空布局需要设置组件的位置,相当于一个绝对定位;
最重要的是最后还要将该组件添加到布局对象中;
jPanel.setLayout( null);//布局方式为null布局 JLabel jLabel = new JLabel("登录");//添加组件 jLabel.setBounds(200,30,100,10);//设置在布局中的位置 jPanel.add(jLabel);//将该组件添加到该布局中 JTextField jTextField = new JTextField();//普通文本框 jTextField.setBounds(110,70,240,30); jPanel.add(jTextField); JPasswordField jPasswordField = new JPasswordField();//密码文本框 jPasswordField.setBounds(110,130,240,30); jPanel.add(password);