欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java GUI,

来源: javaer 分享于  点击 18806 次 点评:57

java GUI,


#java GUI简单操作
本人初学java不足一个月,应老师要求写出BMI学生管理系统,到了GUI界面设计,突然觉得一脸茫然,不知所措,经历好多坎坷才完成最后的任务。故想要分享自己的一些经验,希望对初学java的人有帮助。

首先,安装windowbuilder
eclipse需要使用windowbuilder插件才可以进行界面设计,打开eclipse->Help->Install new software,在workwith里面填写http://download.eclipse.org/windowbuilder/WB/integration/4.5/),然后选择select all,然后finish即可
如下图所示(非常抱歉图片无法正常上传)


点击finish之后稍等即可进行GUI设计。
第二,按照图片位置索引,(https://img-blog.csdn.net/20170725114315081?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWh6YWh6/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
点击之后选择Swing->JFrame,按照名字要求为你的JFrame起一个名字,然后就会出现design界面,如图:

https://img-blog.csdn.net/20170725114634466?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWh6YWh6/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
然后都会出现该界面。
java中JFrame代表一个框架,在这个框架中可以添加各种button,txet等等,其中JPanel代表其中的一页(JPanel是依赖于JFrame存在的,就好比JFrame是人,那么JPanel就是人的器官),一个JFrame中可以包含多个JPanel(就好比人有好多器官一般),在JPanel上面也可以进行各种设计,且JPanel可以进行覆盖,当你设计好JPanel,准备设计JPanel_1时,只需在structure里面单机JPanel_1,然后选择order->Bring To Front即可,这些代码在source里面都会自动生成,我们只需要添加名字颜色字体即可(且都可以在design界面调试出来),其中建议将所有的layout(不论时JFrame还是JPanel)都设置为Absolute Layout,这样可以自由的设计页面的布局,否则会受到拘束。

第三,到了自己敲代码的时候了

    public void actionPerformed(ActionEvent e) {
				String id = textField_1.getText();
				String name = textField_2.getText();
				float height = Float.parseFloat(textField_3.getText());
				float weight = Float.parseFloat(textField_4.getText());
				BigDecimal number = new BigDecimal(height/weight/weight);
				float bmi = number.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
				Student stu = new Student(id,name,height,weight,bmi);
				if(!isExist(id)){
					JOptionPane.showMessageDialog(null, "该学生已经存在");
				}else{
					students.add(stu);
					JOptionPane.showMessageDialog(null, "添加成功");
				}
			}
		});

这里面的textField是我们在design里面设计的时候就存在的,他们都拥有自己的标号,且textField可以进行输入

String id = textField_1.getText();

这句话的意思就是用id来接收textField_1所输入的的字符串,其他的自行设计的函数不需担心,

JOptionPane.showMessageDialog(null, "该学生已经存在");

这句话就是调用Dialog对话框进行提示,当你进行某些操作之后会提示你括号内第二个变量的内容
然后的然后你可能想知道

    public void actionPerformed(ActionEvent e) { 

这是什么啊!
别着急,我们继续回到design界面
用一个实例来解释
设计点击显示button显示出一个加法器,然后在加法器的前两个textField里面输入两个数字,点击’确认’button显示出得数:
新建累什么的内容不再赘述
首先设计出一个Jpanel以及一个button,JPanel里面存在三个textField以及两个Jlable,还有一个button,如图:

名称改变之后的模样如下:

然后单机显示button,右键选择add evevt handler->action->actionPerformed即可跳转到source界面进行设计

JButton btnNewButton_1 = new JButton("\u786E\u8BA4");
		btnNewButton_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			}
		});

这些都是自动生成的代码,也就是前面所说的问题,接下来需要完成的任务是前两个textField输入结束之后点击button然后第三个显示加和的结果,代码如下:

JButton btnNewButton_1 = new JButton("\u786E\u8BA4");
		btnNewButton_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				float number1 = Float.parseFloat(textField.getText());
				float number2 = Float.parseFloat(textField_1.getText());
				textField_2.setText(String.valueOf((number1+number2)));
			}
		});
		btnNewButton_1.setBounds(263, 80, 113, 27);
		panel.add(btnNewButton_1);
	}

以上代码大致都可以看懂,不需要再解释
其中panel出需要加一句代码:找到panel(其实可以加在任何非函数内部的地方,但是为了让代码看起来比较工整,加在panel附近为好)

panel.setVisible(false);

这句话是说让panel不可见,目的是点击"显示"button时可以显示出Panel
"显示"button代码如下:依旧是单机右键add evevt handler->action->actionPerformed

JButton btnNewButton = new JButton("显示");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				panel.setVisible(true);
			}
		});
		btnNewButton.setBounds(140, 13, 113, 27);
		contentPane.add(btnNewButton);

代码写完,接下来看运行结果:



脱坑结束
(本人能力有限,welcome to criticise)
不知名原因图片无法正常显示,请见谅

相关文章

    暂无相关文章
相关栏目:

用户点评