用java编写一个计算器程序(java制作计算器)
其实用java编写一个计算器程序的问题并不复杂,但是又很多的朋友都不太了解java制作计算器,因此呢,今天小编就来为大家分享用java编写一个计算器程序的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
用java程序编写一个计算器
给你一个参考,希望不要被百度吞了当晚餐
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.text.DecimalFormat;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator{
//计算器面板
private JFrame f= new JFrame("Calculator");
//输入面扳
private JPanel inputPanel= new JPanel();
//加减乘除面板
private JPanel operationPanel= new JPanel();
//数字面板
private JPanel buttonsPanel= new JPanel();
//输入数据文本框
private JTextField input= new JTextField(20);
//退格键
private JButton backspace= new JButton("BackSpace");
//清空
private JButton CE= new JButton("CE");
//删除
private JButton C= new JButton("C");
//四则运算符号键
private JButton add= new JButton("+");
private JButton sub= new JButton("-");
private JButton mul= new JButton("*");
private JButton div= new JButton("/");
//小数点
private JButton decimal= new JButton(".");
//等号
private JButton equal= new JButton("=");
//数字键
private JButton zero= new JButton("0");
private JButton one= new JButton("1");
private JButton two= new JButton("2");
private JButton three= new JButton("3");
private JButton four= new JButton("4");
private JButton five= new JButton("5");
private JButton six= new JButton("6");
private JButton seven= new JButton("7");
private JButton eight= new JButton("8");
private JButton nine= new JButton("9");
private String num1="";//保存第一个运算数字
private String operator="";//保存运算符号
public static void main(String[] args){
new Calculator();//new计算器实例
}
public Calculator(){
//添加组件,布局
inputPanel.add(input);
f.add(inputPanel, BorderLayout.NORTH);
operationPanel.add(backspace);
operationPanel.add(CE);
operationPanel.add(C);
f.add(operationPanel, BorderLayout.CENTER);
buttonsPanel.add(add);
buttonsPanel.add(sub);
buttonsPanel.add(mul);
buttonsPanel.add(div);
buttonsPanel.add(one);
buttonsPanel.add(two);
buttonsPanel.add(three);
buttonsPanel.add(zero);
buttonsPanel.add(four);
buttonsPanel.add(five);
buttonsPanel.add(six);
buttonsPanel.add(decimal);
buttonsPanel.add(seven);
buttonsPanel.add(eight);
buttonsPanel.add(nine);
buttonsPanel.add(equal);
buttonsPanel.setLayout(new GridLayout(4, 4));
f.add(buttonsPanel, BorderLayout.SOUTH);
//注册各个组件监听事件
backspace.addMouseListener(new OperationMouseListener());
CE.addMouseListener(new OperationMouseListener());
C.addMouseListener(new OperationMouseListener());
decimal.addMouseListener(new OperationMouseListener());
equal.addMouseListener(new OperationMouseListener());
//注册四则运算监听
add.addMouseListener(new CalcMouseListener());
sub.addMouseListener(new CalcMouseListener());
mul.addMouseListener(new CalcMouseListener());
div.addMouseListener(new CalcMouseListener());
//注册数字监听事件
zero.addMouseListener(new NumberMouseListener());
one.addMouseListener(new NumberMouseListener());
two.addMouseListener(new NumberMouseListener());
three.addMouseListener(new NumberMouseListener());
four.addMouseListener(new NumberMouseListener());
five.addMouseListener(new NumberMouseListener());
six.addMouseListener(new NumberMouseListener());
seven.addMouseListener(new NumberMouseListener());
eight.addMouseListener(new NumberMouseListener());
nine.addMouseListener(new NumberMouseListener());
f.setVisible(true);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class NumberMouseListener implements MouseListener{
public void mouseClicked(MouseEvent e){
if(input.getText().trim().equals("0")){//如果文本框已经是0,结果还是0
input.setText(((JButton)e.getSource()).getText().trim());
}else{//否则的话,把0添加到后面,譬如文本框是1,结果就为10
input.setText(input.getText().concat(((JButton)e.getSource()).getText().trim()));
}
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}
private class CalcMouseListener implements MouseListener{
//如果输入的是运算符号,保存第一个结果和运算符号
public void mouseClicked(MouseEvent e){
num1= input.getText().trim();input.setText("");
operator=((JButton)e.getSource()).getText().trim();
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}
private class OperationMouseListener implements MouseListener{
public void mouseClicked(MouseEvent e){
if(e.getSource()== backspace){//退格键,删除一个直到没有字符删除
String inputText= input.getText();
if(inputText.length()> 0){
input.setText(inputText.substring(0, inputText.length()- 1));
}
}else if(e.getSource()== C){
input.setText("0");//C,清空所有运算数字和符号
num1="";
}else if(e.getSource()== CE){
input.setText("0");//CE-->将文本框置为0
}else if(e.getSource()== decimal){
String text= input.getText().trim();
//如果按了小数点,如果文本框已经有小数点,不做任何操作,否则在结果后面加上小数点
if(text.indexOf(".")==-1){
input.setText(text.concat("."));
}
}else if(e.getSource()== equal){
//如果是等号
if(!operator.trim().equals("")){
if(!input.getText().trim().equals("")){
double result= 0D;
if(operator.equals("+")){//执行加法运算
result= Double.parseDouble(num1)+ Double.parseDouble(input.getText().trim());
}else if(operator.equals("-")){//减法运算
result= Double.parseDouble(num1)- Double.parseDouble(input.getText().trim());
}else if(operator.equals("*")){//乘法运算
result= Double.parseDouble(num1)* Double.parseDouble(input.getText().trim());
}else if(operator.equals("/")){//除法运算
result= Double.parseDouble(num1)/ Double.parseDouble(input.getText().trim());
}
//格式化最终结果,保留两位小数点
input.setText(new DecimalFormat("0.00").format(result));
}
}
}
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}
}
用JAVA编写一个计算器
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class Jisuanqi extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID= 1L;
Result result= new Result();//定义text的面板
Number_Key number_key= new Number_Key();//定义按钮面板
//当点击按钮+、-、*、/时,com= true
boolean com= false;
//当i=0时说明是我们第一次输入,字符串text不会累加
int i= 0;
//存放text的内容
String text="";
//存放点击按钮+、-、*、/之前的数值
double defbutton= 0;
//+、-、*、/的代号分别为1,2,3,4
int symbol= 0;
//构造函数
Jisuanqi(){
super("WangJiao");//设定标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗体时退出程序
JPanel pane= new JPanel();//定义主面板
pane.setLayout(new BorderLayout());
setBounds(380, 220, 30, 80);//前两个参数是在屏幕上显示的坐标,后两个是大小
//替换图标
ImageIcon icon= new ImageIcon("F:1.GIF");
// Jisuanqi.class.getResource("APPLE.GIF")
//);
setIconImage(icon.getImage());
pane.add(result, BorderLayout.NORTH);
pane.add(number_key, BorderLayout.CENTER);
pane.add(number_key.equal, BorderLayout.SOUTH);
number_key.one.addActionListener(this);//对1按钮添加监听事件
number_key.two.addActionListener(this);//对2按钮添加监听事件
number_key.three.addActionListener(this);//对3按钮添加监听事件
number_key.four.addActionListener(this);//对4按钮添加监听事件
number_key.five.addActionListener(this);//对5按钮添加监听事件
number_key.six.addActionListener(this);//对6按钮添加监听事件
number_key.seven.addActionListener(this);//对7按钮添加监听事件
number_key.eight.addActionListener(this);//对8按钮添加监听事件
number_key.nine.addActionListener(this);//对9按钮添加监听事件
number_key.zero.addActionListener(this);//对0按钮添加监听事件
number_key.ce.addActionListener(this);//对置零按钮添加监听事件
number_key.plus.addActionListener(this);//对+按钮添加监听事件
number_key.equal.addActionListener(this);//对=按钮添加监听事件
number_key.sub.addActionListener(this);//对-按钮添加监听事件
number_key.mul.addActionListener(this);//对*按钮添加监听事件
number_key.div.addActionListener(this);//对/按钮添加监听事件
number_key.point.addActionListener(this);//对.按钮添加监听事件
setContentPane(pane);
pack();//初始化窗体大小为正好盛放所有按钮
}
//各个按钮触发的事件
public void actionPerformed(ActionEvent e){
/*
*如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么com=true如果没有com=
* false;或者是否点击数字键,如果是i= 1,如果没有 i= 0;
*/
if(e.getSource()== number_key.one){
if(com|| i== 0){
result.text.setText("1");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"1");
}
} else if(e.getSource()== number_key.two){
if(com|| i== 0){
result.text.setText("2");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"2");
}
} else if(e.getSource()== number_key.three){
if(com|| i== 0){
result.text.setText("3");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"3");
}
} else if(e.getSource()== number_key.four){
if(com|| i== 0){
result.text.setText("4");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"4");
}
} else if(e.getSource()== number_key.five){
if(com|| i== 0){
result.text.setText("5");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"5");
}
} else if(e.getSource()== number_key.six){
if(com|| i== 0){
result.text.setText("6");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"6");
}
} else if(e.getSource()== number_key.seven){
if(com|| i== 0){
result.text.setText("7");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"7");
}
} else if(e.getSource()== number_key.eight){
if(com|| i== 0){
result.text.setText("8");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"8");
}
} else if(e.getSource()== number_key.nine){
if(com|| i== 0){
result.text.setText("9");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"9");
}
}
/*
*对于0这个按钮有一定的说法,在我的程序里不会出现如00000这样的情况,我加了判断条件就是
*如果text中的数值=0就要判断在这个数值中是否有.存在?如果有那么就在原来数值基础之上添加0;否则保持原来的数值不变
*/
else if(e.getSource()== number_key.zero){// result.text.getText()是得到text里内容的意思
if(com|| i== 0){
result.text.setText("0");
com= false;
i= 1;
} else{
text= result.text.getText();
if(Float.parseFloat(text)> 0|| Float.parseFloat(text)< 0){// Float.parseFloat(text)就是类型转换了,下面都是一样
result.text.setText(text+"0");
} else{
if(text.trim().indexOf(".")==-1){
result.text.setText(text);
} else{
result.text.setText(text+"0");
}
}
}
} else if(e.getSource()== number_key.ce){
result.text.setText("0");
i= 0;
com= true;
// text="";
defbutton= 0;
}
/*
*本程序不会让一个数值中出现2个以上的小数点.具体做法是:判断是否已经存在.存在就不添加,不存在就添加.
*/
else if(e.getSource()== number_key.point){
if(com|| i== 0){
result.text.setText("0.");
com= false;
i= 1;
} else{
text= result.text.getText();
if(text.trim().indexOf(".")==-1){
result.text.setText(text+".");
} else{
result.text.setText(text);
}
}
}//获得点击+之前的数值
else if(e.getSource()== number_key.plus){
com= true;
i= 0;
defbutton= Double.parseDouble(result.text.getText());
symbol= 1;
}//获得点击-之前的数值
else if(e.getSource()== number_key.sub){
com= true;
i= 0;
defbutton= Double.parseDouble(result.text.getText());
symbol= 2;
}//获得点击*之前的数值
else if(e.getSource()== number_key.mul){
com= true;
i= 0;
defbutton= Double.parseDouble(result.text.getText());
System.out.println(defbutton);
symbol= 3;
}//获得点击/之前的数值
else if(e.getSource()== number_key.div){
com= true;
i= 0;
defbutton= Double.parseDouble(result.text.getText());
symbol= 4;
} else if(e.getSource()== number_key.equal){
switch(symbol){
case 1:{//计算加法
double ad= defbutton
+ Double.parseDouble(result.text.getText());
result.text.setText(ad+"");
i= 0;
text="";
break;
}
case 2:{//计算减法
double ad= defbutton
- Double.parseDouble(result.text.getText());
result.text.setText(String.valueOf(ad));
i= 0;
text="";
break;
}
case 3:{//计算乘法
double ad= defbutton
* Double.parseDouble(result.text.getText());
result.text.setText(ad+"");
i= 0;
text="";
break;
}
case 4:{//计算除法
double ad= defbutton
/ Double.parseDouble(result.text.getText());
result.text.setText(ad+"");
i= 0;
text="";
break;
}
}
System.out.println(com);
}
System.out.println(result.text.getText());
}
@SuppressWarnings("deprecation")
public static void main(String[] args){
Jisuanqi loveyou= new Jisuanqi();
loveyou.show();
}
}
//计算器数字按钮定义面板
class Number_Key extends JPanel{
/**
*
*/
private static final long serialVersionUID= 1L;
JButton zero= new JButton("0");//数字键0
JButton one= new JButton("1");//数字键1
JButton two= new JButton("2");//数字键2
JButton three= new JButton("3");//数字键3
JButton four= new JButton("4");//数字键4
JButton five= new JButton("5");//数字键5
JButton six= new JButton("6");//数字键6
JButton seven= new JButton("7");//数字键7
JButton eight= new JButton("8");//数字键8
JButton nine= new JButton("9");//数字键9
JButton plus= new JButton("+");
JButton sub= new JButton("-");
JButton mul= new JButton("*");
JButton div= new JButton("/");
JButton equal= new JButton("=");
JButton ce= new JButton("清零");//置零键
JButton point= new JButton(".");
Number_Key(){
setLayout(new GridLayout(4, 4, 1, 1));//定义布局管理器为网格布局
setBackground(Color.blue);//设置背景颜色
//添加按钮
add(one);
add(two);
add(three);
add(four);
add(five);
add(six);
add(seven);
add(eight);
add(nine);
add(zero);
add(plus);
add(sub);
add(mul);
add(div);
add(point);
add(equal);
add(ce);
}
}
//计算器显示结果的窗体
class Result extends JPanel{
/**
*
*/
private static final long serialVersionUID= 1L;
// text先是输入和结果
JTextField text= new JTextField("0");
@SuppressWarnings("deprecation")
Result(){//讲输入的数字或得到的结果在text的右边显示
text.setHorizontalAlignment(SwingConstants.RIGHT);
text.enable(false);//文本框不能编辑
setLayout(new BorderLayout());//设定布局管理器边框布局
add(text, BorderLayout.CENTER);// text放置在窗体的中间
}
}
直接复制保存成Jisuanqi.java可以直接运行了
怎么用JAVA编程编写一个计算器
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class Jisuanqi extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID= 1L;
Result result= new Result();//定义text的面板
Number_Key number_key= new Number_Key();//定义按钮面板
//当点击按钮+、-、*、/时,com= true
boolean com= false;
//当i=0时说明是我们第一次输入,字符串text不会累加
int i= 0;
//存放text的内容
String text="";
//存放点击按钮+、-、*、/之前的数值
double defbutton= 0;
//+、-、*、/的代号分别为1,2,3,4
int symbol= 0;
//构造函数
Jisuanqi(){
super("WangJiao");//设定标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗体时退出程序
JPanel pane= new JPanel();//定义主面板
pane.setLayout(new BorderLayout());
setBounds(380, 220, 30, 80);//前两个参数是在屏幕上显示的坐标,后两个是大小
//替换图标
ImageIcon icon= new ImageIcon("F:1.GIF");
// Jisuanqi.class.getResource("APPLE.GIF")
//);
setIconImage(icon.getImage());
pane.add(result, BorderLayout.NORTH);
pane.add(number_key, BorderLayout.CENTER);
pane.add(number_key.equal, BorderLayout.SOUTH);
number_key.one.addActionListener(this);//对1按钮添加监听事件
number_key.two.addActionListener(this);//对2按钮添加监听事件
number_key.three.addActionListener(this);//对3按钮添加监听事件
number_key.four.addActionListener(this);//对4按钮添加监听事件
number_key.five.addActionListener(this);//对5按钮添加监听事件
number_key.six.addActionListener(this);//对6按钮添加监听事件
number_key.seven.addActionListener(this);//对7按钮添加监听事件
number_key.eight.addActionListener(this);//对8按钮添加监听事件
number_key.nine.addActionListener(this);//对9按钮添加监听事件
number_key.zero.addActionListener(this);//对0按钮添加监听事件
number_key.ce.addActionListener(this);//对置零按钮添加监听事件
number_key.plus.addActionListener(this);//对+按钮添加监听事件
number_key.equal.addActionListener(this);//对=按钮添加监听事件
number_key.sub.addActionListener(this);//对-按钮添加监听事件
number_key.mul.addActionListener(this);//对*按钮添加监听事件
number_key.div.addActionListener(this);//对/按钮添加监听事件
number_key.point.addActionListener(this);//对.按钮添加监听事件
setContentPane(pane);
pack();//初始化窗体大小为正好盛放所有按钮
}
//各个按钮触发的事件
public void actionPerformed(ActionEvent e){
/*
*如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么com=true如果没有com=
* false;或者是否点击数字键,如果是i= 1,如果没有 i= 0;
*/
if(e.getSource()== number_key.one){
if(com|| i== 0){
result.text.setText("1");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"1");
}
} else if(e.getSource()== number_key.two){
if(com|| i== 0){
result.text.setText("2");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"2");
}
} else if(e.getSource()== number_key.three){
if(com|| i== 0){
result.text.setText("3");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"3");
}
} else if(e.getSource()== number_key.four){
if(com|| i== 0){
result.text.setText("4");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"4");
}
} else if(e.getSource()== number_key.five){
if(com|| i== 0){
result.text.setText("5");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"5");
}
} else if(e.getSource()== number_key.six){
if(com|| i== 0){
result.text.setText("6");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"6");
}
} else if(e.getSource()== number_key.seven){
if(com|| i== 0){
result.text.setText("7");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"7");
}
} else if(e.getSource()== number_key.eight){
if(com|| i== 0){
result.text.setText("8");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"8");
}
} else if(e.getSource()== number_key.nine){
if(com|| i== 0){
result.text.setText("9");
com= false;
i= 1;
} else{
text= result.text.getText();
result.text.setText(text+"9");
}
}
/*
*对于0这个按钮有一定的说法,在我的程序里不会出现如00000这样的情况,我加了判断条件就是
*如果text中的数值=0就要判断在这个数值中是否有.存在?如果有那么就在原来数值基础之上添加0;否则保持原来的数值不变
*/
else if(e.getSource()== number_key.zero){// result.text.getText()是得到text里内容的意思
if(com|| i== 0){
result.text.setText("0");
com= false;
i= 1;
} else{
text= result.text.getText();
if(Float.parseFloat(text)> 0|| Float.parseFloat(text)< 0){// Float.parseFloat(text)就是类型转换了,下面都是一样
result.text.setText(text+"0");
} else{
if(text.trim().indexOf(".")==-1){
result.text.setText(text);
} else{
result.text.setText(text+"0");
}
}
}
} else if(e.getSource()== number_key.ce){
result.text.setText("0");
i= 0;
com= true;
// text="";
defbutton= 0;
}
/*
*本程序不会让一个数值中出现2个以上的小数点.具体做法是:判断是否已经存在.存在就不添加,不存在就添加.
*/
else if(e.getSource()== number_key.point){
if(com|| i== 0){
result.text.setText("0.");
com= false;
i= 1;
} else{
text= result.text.getText();
if(text.trim().indexOf(".")==-1){
result.text.setText(text+".");
} else{
result.text.setText(text);
}
}
}//获得点击+之前的数值
else if(e.getSource()== number_key.plus){
com= true;
i= 0;
defbutton= Double.parseDouble(result.text.getText());
symbol= 1;
}//获得点击-之前的数值
else if(e.getSource()== number_key.sub){
com= true;
i= 0;
defbutton= Double.parseDouble(result.text.getText());
symbol= 2;
}//获得点击*之前的数值
else if(e.getSource()== number_key.mul){
com= true;
i= 0;
defbutton= Double.parseDouble(result.text.getText());
System.out.println(defbutton);
symbol= 3;
}//获得点击/之前的数值
else if(e.getSource()== number_key.div){
com= true;
i= 0;
defbutton= Double.parseDouble(result.text.getText());
symbol= 4;
} else if(e.getSource()== number_key.equal){
switch(symbol){
case 1:{//计算加法
double ad= defbutton
+ Double.parseDouble(result.text.getText());
result.text.setText(ad+"");
i= 0;
text="";
break;
}
case 2:{//计算减法
double ad= defbutton
- Double.parseDouble(result.text.getText());
result.text.setText(String.valueOf(ad));
i= 0;
text="";
break;
}
case 3:{//计算乘法
double ad= defbutton
* Double.parseDouble(result.text.getText());
result.text.setText(ad+"");
i= 0;
text="";
break;
}
case 4:{//计算除法
double ad= defbutton
/ Double.parseDouble(result.text.getText());
result.text.setText(ad+"");
i= 0;
text="";
break;
}
}
System.out.println(com);
}
System.out.println(result.text.getText());
}
@SuppressWarnings("deprecation")
public static void main(String[] args){
Jisuanqi loveyou= new Jisuanqi();
loveyou.show();
}
}
//计算器数字按钮定义面板
class Number_Key extends JPanel{
/**
*
*/
private static final long serialVersionUID= 1L;
JButton zero= new JButton("0");//数字键0
JButton one= new JButton("1");//数字键1
JButton two= new JButton("2");//数字键2
JButton three= new JButton("3");//数字键3
JButton four= new JButton("4");//数字键4
JButton five= new JButton("5");//数字键5
JButton six= new JButton("6");//数字键6
JButton seven= new JButton("7");//数字键7
JButton eight= new JButton("8");//数字键8
JButton nine= new JButton("9");//数字键9
JButton plus= new JButton("+");
JButton sub= new JButton("-");
JButton mul= new JButton("*");
JButton div= new JButton("/");
JButton equal= new JButton("=");
JButton ce= new JButton("清零");//置零键
JButton point= new JButton(".");
Number_Key(){
setLayout(new GridLayout(4, 4, 1, 1));//定义布局管理器为网格布局
setBackground(Color.blue);//设置背景颜色
//添加按钮
add(one);
add(two);
add(three);
add(four);
add(five);
add(six);
add(seven);
add(eight);
add(nine);
add(zero);
add(plus);
add(sub);
add(mul);
add(div);
add(point);
add(equal);
add(ce);
}
}
//计算器显示结果的窗体
class Result extends JPanel{
/**
*
*/
private static final long serialVersionUID= 1L;
// text先是输入和结果
JTextField text= new JTextField("0");
@SuppressWarnings("deprecation")
Result(){//讲输入的数字或得到的结果在text的右边显示
text.setHorizontalAlignment(SwingConstants.RIGHT);
text.enable(false);//文本框不能编辑
setLayout(new BorderLayout());//设定布局管理器边框布局
add(text, BorderLayout.CENTER);// text放置在窗体的中间
}
}
直接复制保存成Jisuanqi.java可以直接运行了
用java编写一个计算器程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java制作计算器、用java编写一个计算器程序的信息别忘了在本站进行查找哦。