最近做自动数据平台,没有界面。周末于是想用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
|
package
cn.wuwenfu.swing;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import
javax.swing.JPanel;
public
class HelloWorld extends
JFrame{
private
JPanel infoJP;
private
JPanel textJP;
private
JPanel buttJP;
public
HelloWorld(){
super ();
this .setSize( 500 , 600 );
this .getContentPane().setLayout( new
GridLayout( 3 , 1 ));
this .add(getInfoJP());
this .add(getTextJP());
this .add(getButtJP());
this .setTitle( "ryzur" );
}
/*瑞德医疗官网,工作日志*/
private
JPanel getInfoJP() {
if (infoJP== null ){
infoJP = new
JPanel();
//infoJP.setSize(500, 200);
infoJP.setLayout( new
FlowLayout());
infoJP.add( new
JButton( "瑞德医疗官网" ));
infoJP.add( new
JButton( "查看本地日志" ));
}
return
infoJP;
}
/*软件介绍*/
private
JPanel getTextJP() {
if (textJP== null ){
textJP = new
JPanel();
//textJP.setSize(500, 200);
textJP.setLayout( new
FlowLayout());
textJP.add( new
JLabel( "瑞德医疗自动数据平台......................" ));
}
return
textJP;
}
/*开启,关闭*/
private
JPanel getButtJP() {
if (buttJP== null ){
buttJP = new
JPanel();
//buttJP.setSize(500, 200);
buttJP.setLayout( new
FlowLayout());
buttJP.add( new
JButton( "开启" ));
buttJP.add( new
JButton( "关闭" ));
}
return
buttJP;
}
public
static void main(String[] args)
{
HelloWorld w = new
HelloWorld();
w.setVisible( true );
}
} |
实现的效果是
界面大概就这样实现了,后面要做的是 实现按钮的效果。
收获:JFrame是窗体,JPanel是容器,放置多个组件时,如果需要不同布局,应该是在窗体中放置多个容器,每个容器采用不同布局。
一开始我错误的以为JFrame 内放入JFrame 。
收获二:上述代码中的结果比较清晰,构造函数调用get方法,完成初始化。变量和get方法设置为private ,这样的代码需要借鉴。