这是JavaGUI界面设计的第二课,主要巩固一下前面的界面设计。
计算器界面设计:
实现功能:
1、构建一个简单的计算器界面,包括:标题、输出文本框及按钮
2、创建文本框及按钮添加方法,调用方法添加按钮,减少代码重复输入;
3、在计算器输出窗口中显示输入内容。
具体代码如下:
计算器界面设计
package com.Liao.Calculator0627;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Frame {
// 创建窗口及文本框属性
JFrame jf;
JTextField jft;
public void showFrame() {
// 创建计算器窗体
jf = new JFrame();
jf.setTitle("计算器");
// 设置窗体大小
jf.setSize(400, 360);
// 设置设置窗体位置
jf.setLocationRelativeTo(null);
// 设置程序退出
jf.setDefaultCloseOperation(3);
// 设置流式布局
FlowLayout fl = new FlowLayout();
jf.setLayout(fl);
// 调用方法添加文本框及按钮
addTextField();
addButton("AC");
addButton("DELETE");
addButton("/");
addButton("*");
addButton("7");
addButton("8");
addButton("9");
addButton("-");
addButton("4");
addButton("5");
addButton("6");
addButton("+");
addButton("1");
addButton("2");
addButton("3");
addButton("1/x");
addButton("%");
addButton("0");
addButton(".");
addButton("=");
// 设置窗体可见
jf.setVisible(true);
}
// 添加文本框方法
public void addTextField() {
jft = new JTextField();
Dimension d1 = new Dimension(380, 80);
jft.setPreferredSize(d1);
jf.add(jft);
}
// 添加按钮方法
public void addButton(String s) {
JButton jb = new JButton(s);
Dimension d = new Dimension(90, 40);
jb.setPreferredSize(d);
jf.add(jb);
// 创建监听器
ButtonListener bl = new ButtonListener();
// 将监听器装在按钮上
jb.addActionListener(bl);
// 将文本框对象传至监听器类
bl.setJt(jft);
}
}
按钮监听器
package com.Liao.Calculator0627;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
public class ButtonListener implements ActionListener {
private JTextField jt;
public void setJt(JTextField jtext) {
jt = jtext;
}
public void actionPerformed(ActionEvent e) {
// 获取文本框输入内容
String i = e.getActionCommand();
// 打印文本框输入内容
System.out.print(i);
// 在文本框中显示输入内容
jt.setText(i);
}
}
主函数
package com.Liao.Calculator0627;
public class Calculator {
public static void main(String[] args) {
Frame f = new Frame();
f.showFrame();
}
}
小结:
1、总的来说,这次计算器界面设计还算比较成功,基本完成了设计要求;
2、计算器输出框暂时只能显示鼠标刚刚点击的字符;
3、计算器核心的计算功能有待实现。