Java学习之Swing篇(二)——计算器界面

这是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、计算器核心的计算功能有待实现。

你可能感兴趣的:(GUI)