大家好,欢迎来到IT知识分享网。
好久没有总结这个月的学习了,先唠叨几句,这个月工作烂的一塌糊涂。跟老板吵架,然后辞职。今天是递交辞职申请的倒数第三天。
Java用户登陆这块,主要还是学到了新的类:
1,边界布局:BorderLayout。他主要分为五个布局,是JFrame(顶层容器),JDialog(创建对话框窗口的类)的默认布局方式。其最多容量为5个组件,超出5个得用其他的。设置方式为:BorderLayout.NORTH;BorderLayout.SOUTH;BorderLayout.CENTER;Borderlayout.CENTER;BorderLayout.LEFT;BorderLayout.RIGHT。
2,流式布局:FlowLayout。布局方式为从左到右,从上到下。是JPanel(轻量级容器)的默认面板布局。
3,网格布局:GridLayout。布局方式为行和列组成的网络。布局方法:setLayout(new GridLayout(3,2,3,3));其中强两位数字表示三行两列,后两位表示行与行的间距为3,列与列的间距为3.
接着,就接触到JPanel面板。JPanel是非顶层容器,所以,一个界面只能由一个JFrame,但是可以有多个JPanel组件。其默认布局方式为流式布局。在JPanel这块,学到了用户登录界面的设计。从而接触到另外三个组件:文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。
根据上面的组件和布局方式,我试着做了如下效果的一些代码:
1,用户登陆界面:
具体代码如下:
1 import javax.swing.*;
2
3 import java.awt.*; //导入必要的包
4
5 public class denglu extends JFrame{
6 JTextField jTextField ; //定义文本框组件
7 JPasswordField jPasswordField; //定义密码框组件
8 JLabel jLabel1,jLabel2;
9 JPanel jp1,jp2,jp3;
10 JButton jb1,jb2; //创建按钮
11 public denglu(){
12 jTextField = new JTextField(12);
13 jPasswordField = new JPasswordField(13);
14 jLabel1 = new JLabel(“用户名”);
15 jLabel2 = new JLabel(“密码”);
16 jb1 = new JButton(“确认”);
17 jb2 = new JButton(“取消”);
18 jp1 = new JPanel();
19 jp2 = new JPanel();
20 jp3 = new JPanel();
21
22 //设置布局
23 this.setLayout(new GridLayout(3,1));
24
25 jp1.add(jLabel1);
26 jp1.add(jTextField);//第一块面板添加用户名和文本框
27
28 jp2.add(jLabel2);
29 jp2.add(jPasswordField);//第二块面板添加密码和密码输入框
30
31 jp3.add(jb1);
32 jp3.add(jb2); //第三块面板添加确认和取消
33
34 // jp3.setLayout(new FlowLayout()); //因为JPanel默认布局方式为FlowLayout,所以可以注销这段代码.
35 this.add(jp1);
36 this.add(jp2);
37 this.add(jp3); //将三块面板添加到登陆框上面
38 //设置显示
39 this.setSize(300, 200);
40 //this.pack();
41 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
42 this.setVisible(true);
43 this.setTitle(“登陆”);
44
45 }
46 public static void main(String[] args){
47 new denglu();
48 }
49 }
2,根据复选框组件等其他组件,又写了用户调查界面:
具体代码:
1 import javax.swing.ButtonGroup;
2 import javax.swing.JCheckBox;
3 import javax.swing.JFrame;
4 import javax.swing.JLabel;
5 import javax.swing.JPanel;
6 import javax.swing.JRadioButton;
7
8 import java.awt.*;
9
10 public class diaocha extends JFrame{
11 JCheckBox jcb1,jcb2,jcb3;
12 JRadioButton jrb1,jrb2;
13 JLabel jLabel1,jLabel2;
14 JPanel jp1,jp2;
15 public diaocha(){
16 jcb1 = new JCheckBox(“华商报”);
17 jcb2 = new JCheckBox(“三秦都市报”);
18 jcb3 = new JCheckBox(“西安晚报”);
19 jrb1 = new JRadioButton(“男”);
20 jrb2 = new JRadioButton(“女”);
21 jLabel1 = new JLabel(“您最常读的报纸”);
22 jLabel2 = new JLabel(“您的性别”);
23 jp1 = new JPanel();
24 jp2 = new JPanel();
25 //设置布局
26 this.setLayout(new GridLayout(2, 1));
27 //添加组件
28 jp1.add(jLabel1);
29 jp1.add(jcb1);
30 jp1.add(jcb2);
31 jp1.add(jcb3);
32 jp2.add(jLabel2);
33 //现在这样的话,最后还是会对性别进行全部选择的。所以添加按钮对象,对同一组单选按钮惊醒分组
34 ButtonGroup bGroup = new ButtonGroup();
35 bGroup.add(jrb1);
36 bGroup.add(jrb2);
37 jp2.add(jrb1);
38 jp2.add(jrb2);
39 this.add(jp1);
40 this.add(jp2);
41
42 //设置展示面板
43 this.setVisible(true);
44 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
45 this.setSize(200, 200);
46 }
47 public static void main(String[] args){
48 new diaocha();
49 }
50 }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/53624.html