JAVA界面设计

一、java的图形界面

1.swing  javax.swing

jdk1.4时推出的图形界面,跨平台性好

二、常用的组件

1.容器组件

JFrame    窗体类 最顶级的容器(默认布局为边框布局,不能自己互相添加)

2.元素组件

JLabel   标签类

JTextField  文本输入框类(可以设置框内字符、输入框长度)

JPasswordField 密码输入框类(框内字符会被特定字符代替)

JCheckBox  复选框类

JButton    按钮类

容器和组件都是swing包下的类。javax.swing.JFrame

三、常用的布局

1.布局类只能用在容器中。设置布局时需用setLayout()

FlowLayout    流式布局(如同文本文档一样一行一行排列,排列满换行,默认方向为从左向右,可以设置对齐方向)

四、简单登录界面的实现

1.新建一个xxx类(Login),在类中定义主函数。

2.在类中定义一个初始化界面的方法(initUI)

3.在初始化界面的方法中,实例化一个顶级容器(JFrame)类的对象。

4.设置JFrame对象的属性值(标题,大小,显示位置,关闭退出程序,禁止调整大小,可见,该步完成对一个窗体的创建)

5.实例化元素组件对象,将对象添加到窗体上

6.在主函数中实例化Login类的对象,用对象名调用初始化界面的方法。

注:setDefaultCloseOperation()括号中可选数字,3是关闭时退出程序。0是不关闭。1是隐藏,2是关闭时程序继续工作。

setVisible(true)必须放在最后才能显示所有组件。true为可见。

setSize()大小为像素点的大小。默认起点为左上角。

五、代码

1.简单的登录界面

可以用流式布局或者边框布局。

Java代码  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
 
//定义一个登录界面 
public class showFrameqq { 
      
           
    //  入口主函数 
            
    public static void main(String[] args) { 
        // 实例化showFrameqq类的对象 
        showFrameqq showqq = new showFrameqq(); 
        //调用qq界面的方法 
        showqq.initGUI(); 
      
    
    //定义一个qq界面的方法 
    public void initGUI(){ 
        //实例化一个JFrame类的对象 
        javax.swing.JFrame jf = new javax.swing.JFrame(); 
        //设置窗体的标题属性 
        jf.setTitle("QQ登录界面"); 
        //设置窗体的大小属性 
        jf.setSize(300,200); 
        //设置窗体的位置属性 
        jf.setLocation(450,200); 
        //设置窗体关闭时退出程序 
        jf.setDefaultCloseOperation(3); 
        //设置禁止调整窗体的大小 
        jf.setResizable(false); 
               
        //实例化一个布局类的对象 
        java.awt.FlowLayout fl = new java.awt.FlowLayout();  
        //设置窗体的布局方式为流式布局 
        jf.setLayout(fl); 
        //实例化一个JLabel标签类的对象 
        javax.swing.JLabel jlaName = new javax.swing.JLabel("                                          "); 
        //将jlaName对象添加到容器JFrame对象上 
        jf.add(jlaName); 
        //实例化一个JTextField对象 
        javax.swing.JTextField jteName = new javax.swing.JTextField("账号",20); 
        //将jteName对象添加到容器JFrame对象上 
        jf.add(jteName); 
        //实例化一个JLabel对象 
        javax.swing.JLabel jlaName2 = new javax.swing.JLabel("注册账号"); 
        //将jlaName2对象添加到容器JFrame对象上 
        jf.add(jlaName2); 
        //实例化一个JPasswordField对象 
        javax.swing.JPasswordField jpaName = new javax.swing.JPasswordField("请输入密码",20); 
        //将jpaName对象添加到容器JFrame对象上 
        jf.add(jpaName); 
        //实例化一个JLabel对象 
        javax.swing.JLabel jlaName3 = new javax.swing.JLabel("找回密码"); 
        //将jlaName3对象添加到容器JFrame对象上 
        jf.add(jlaName3); 
        //实例化一个JCheckBox对象 
        javax.swing.JCheckBox jchName = new javax.swing.JCheckBox("记住密码"); 
        //将jchName3对象添加到容器JFrame对象上 
        jf.add(jchName); 
        //实例化一个JCheckBox对象 
        javax.swing.JCheckBox jchName2 = new javax.swing.JCheckBox("自动登录"); 
        //将jchName3对象添加到容器JFrame对象上 
        jf.add(jchName2); 
        //实例化一个JCheckBox对象 
        javax.swing.JButton jbuName = new javax.swing.JButton("           登             录          "); 
        //将jButton对象添加到容器JFrame对象上 
        jf.add(jbuName); 
               
        jf.setVisible(true); 
    
           
      
}
    
package cn.wz.study0718;
//定义一个登录界面
public class showFrameqq {
    
//  入口主函数
     
public static void main(String[] args) {
// 实例化showFrameqq类的对象
showFrameqq showqq = new showFrameqq();
//调用qq界面的方法
showqq.initGUI();
    
}
//定义一个qq界面的方法
public void initGUI(){
//实例化一个JFrame类的对象
javax.swing.JFrame jf = new javax.swing.JFrame();
//设置窗体的标题属性
jf.setTitle("QQ登录界面");
//设置窗体的大小属性
jf.setSize(300,200);
//设置窗体的位置属性
jf.setLocation(450,200);
//设置窗体关闭时退出程序
jf.setDefaultCloseOperation(3);
//设置禁止调整窗体的大小
jf.setResizable(false);
//实例化一个布局类的对象
java.awt.FlowLayout fl = new java.awt.FlowLayout();
//设置窗体的布局方式为流式布局
jf.setLayout(fl);
//实例化一个JLabel标签类的对象
javax.swing.JLabel jlaName = new javax.swing.JLabel("                                          ");
//将jlaName对象添加到容器JFrame对象上
jf.add(jlaName);
//实例化一个JTextField对象
javax.swing.JTextField jteName = new javax.swing.JTextField("账号",20);
//将jteName对象添加到容器JFrame对象上
jf.add(jteName);
//实例化一个JLabel对象
javax.swing.JLabel jlaName2 = new javax.swing.JLabel("注册账号");
//将jlaName2对象添加到容器JFrame对象上
jf.add(jlaName2);
//实例化一个JPasswordField对象
javax.swing.JPasswordField jpaName = new javax.swing.JPasswordField("请输入密码",20);
//将jpaName对象添加到容器JFrame对象上
jf.add(jpaName);
//实例化一个JLabel对象
javax.swing.JLabel jlaName3 = new javax.swing.JLabel("找回密码");
//将jlaName3对象添加到容器JFrame对象上
jf.add(jlaName3);
//实例化一个JCheckBox对象
javax.swing.JCheckBox jchName = new javax.swing.JCheckBox("记住密码");
//将jchName3对象添加到容器JFrame对象上
jf.add(jchName);
//实例化一个JCheckBox对象
javax.swing.JCheckBox jchName2 = new javax.swing.JCheckBox("自动登录");
//将jchName3对象添加到容器JFrame对象上
jf.add(jchName2);
//实例化一个JCheckBox对象
javax.swing.JButton jbuName = new javax.swing.JButton("           登   录          ");
//将jButton对象添加到容器JFrame对象上
jf.add(jbuName);
jf.setVisible(true);
}
    
}

相关推荐