最近做自动数据平台,没有界面。周末于是想用java实现一个可视化的界面。
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 ,这样的代码需要借鉴。