简易Java计算器·界面篇_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 简易Java计算器·界面篇

简易Java计算器·界面篇

 2015/3/28 0:47:04  GreenLv  程序员俱乐部  我要评论(0)
  • 摘要:既然选择了码农,便只顾肩酸背痛。认认真真敲代码,踏踏实实写博客。之前学习Java的时候写了一个计算器,但是只是个半成品,而且代码实在是不忍直视。所以决定重写一个,从优化代码做起——至少要看起来简洁。程序用Java的swing实现,本篇只展示界面,待写完运算方法再补充一篇。界面效果展示:「Talkischeap.Showmethecode.」OK,thisisthecode:importjava.awt.Color;importjava.awt.Dimension;importjava.awt
  • 标签:Java

既然选择了码农,便只顾肩酸背痛。

认认真真敲代码,踏踏实实写博客。

?

之前学习Java的时候写了一个计算器,但是只是个半成品,而且代码实在是不忍直视。

所以决定重写一个,从优化代码做起——至少要看起来简洁。

程序用Java的swing实现,本篇只展示界面,待写完运算方法再补充一篇。

界面效果展示:

?

?

?

「Talk is cheap. Show me the code.」

OK,this is the code:

class="java" name="code">import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Calculator extends JFrame {

	JLabel jl = new JLabel();// 用于显示的文本框

	public static void main(String args[]) {
		Calculator c = new Calculator();
		c.initUI();
	}

	// 初始化计算器界面
	public void initUI() {
		// 计算器界面的基本设置
		this.setSize(368, 604);// 大小为368*604(考虑边框)
		this.setTitle("Calculator");// 设置窗口标题
		this.setDefaultCloseOperation(3);// 设置关闭操作
		this.setLayout(new FlowLayout(1, 0, 0));// 居中对齐,组件之间纵向、横向间距为0
		this.setResizable(false);// 不可改变窗口大小
		this.setLocationRelativeTo(null);// 居中显示窗口

		// 添加About菜单
		JMenuBar jmB = new JMenuBar();// 菜单栏
		JMenu jm0 = new JMenu("About");// 菜单
		JMenuItem jmi0 = new JMenuItem("Developer");// 菜单项
		jmi0.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JFrame jf = new JFrame();
				jf.setSize(200, 150);
				jf.setDefaultCloseOperation(2);
				jf.setTitle("Developer");
				jf.setResizable(false);
				jf.setLayout(new FlowLayout(0, 20, 20));// 左对齐;内部组件横向、纵向间距都为20
				jf.setLocationRelativeTo(null);
				jf.add(new JLabel("Name: Green Lv"));
				jf.add(new JLabel("Version: v1.0.0"));
				jf.setVisible(true);
			}
		});
		jm0.add(jmi0);
		jmB.add(jm0);
		this.setJMenuBar(jmB);

		// 360*200的文本框,用于显示内容
		jl.setPreferredSize(new Dimension(360, 200));
		jl.setBackground(Color.lightGray);
		this.add(jl);

		// 90*70的按钮,共18个
		String buttonText[] = { "C", "←", "÷", "×", "7", "8", "9", "-", "4",
				"5", "6", "+", "1", "2", "3", "M", "0", "." };
		JButton jb[] = new JButton[18];

		for (int i = 0; i < 18; i++) {
			jb[i] = new JButton(buttonText[i]);
			jb[i].setPreferredSize(new Dimension(90, 70));// 设置按钮大小
			jb[i].setBackground(Color.white);// 设置背景色
			jb[i].addActionListener(new MyListener(jl, jb[i]));// 为按钮添加监听器(监听器是实现计算器的部分,需要另写一个class)
			this.add(jb[i]);
		}

		// 等号按钮
		JButton jbEqualTo = new JButton("=");
		jbEqualTo.setPreferredSize(new Dimension(180, 70));
		jbEqualTo.setBackground(Color.orange);
		this.add(jbEqualTo);

		this.setVisible(true);// 设置窗体可见
	}
}

?

  • 大小: 69 KB
  • 查看图片附件
上一篇: Java Socket 多线程实现文件传输 下一篇: 没有下一篇了!
发表评论
用户名: 匿名