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 );
}
    
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM