java的可运行小程序_求JAVA大神给我发一段完整可运行的java图形小程序的代码(不用太多类),谢谢了...

展开全部

/*计算器*/

import java.awt.*;

import javax.swing.*;

import javax.swing.border.*;

import java.awt.event.*;

public class Calculator implements ActionListener{

JFrame frame;

JPanel panel;

JTextField tfShow;/*定义显示文本框*/

JButton b1[]=new JButton[10]; /*数字按钮*/

JButton b2[]=new JButton[6]; /*操作按钮*/

boolean isNumber;/*判断是否输入多位数字的变量*/

double number;/*存储输入数值e69da5e887aa3231313335323631343130323136353331333332616337、显示结果的变量*/

double result;/*存储中间运算结果的变量*/

char operator;/*存储当前操作符的成员变量*/

public Calculator(){

frame=new JFrame("计算器");

frame.setSize(300,300);/*指定框架窗口的大小*/

frame.setResizable(false);/*使框架窗口不可改变大小*/

JPanel contentPane=(JPanel)frame.getContentPane();

contentPane.setBorder(new EmptyBorder(20,20,20,20));/*绘制框架的指定大小的空透明边框*/

tfShow=new JTextField("0",25);/*指定属性的文本域*/

tfShow.setHorizontalAlignment(JTextField.RIGHT);/*设置文本域中文本的对齐方式*/

isNumber=true;/*初始值设置*/

number=0;/*初始值设置*/

result=0;/*初始值设置*/

operator=' ';/*初始值设置*/

for(int i=0;i

b1[i]=new JButton(Integer.toString(i));/*创建数字按钮*/

b1[i].setActionCommand(Integer.toString(i));

b1[i].addActionListener(this);

b1[i].setForeground(Color.blue);

}

String bs[]={"/","*","-","C","+","="};

for(int i=0;i

b2[i]=new JButton(bs[i]);/*创建操作按钮*/

b2[i].setActionCommand(bs[i]);

b2[i].addActionListener(this);

b2[i].setForeground(Color.red);

}

panel=new JPanel();

panel.setLayout(new GridLayout(4,5));

panel.add(b1[1]);

panel.add(b1[2]);

panel.add(b1[3]);

panel.add(b2[0]);

panel.add(b1[4]);

panel.add(b1[5]);

panel.add(b1[6]);

panel.add(b2[1]);

panel.add(b1[7]);

panel.add(b1[8]);

panel.add(b1[9]);

panel.add(b2[2]);

panel.add(b1[0]);

panel.add(b2[3]);

panel.add(b2[4]);

panel.add(b2[5]);

frame.add(tfShow,BorderLayout.NORTH);/*将文本框放置在框架上方*/

frame.add(panel,BorderLayout.CENTER);/*将装有按钮组的panel放在框架的中心*/

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/*设置框架窗口的默认窗口关闭操作*/

frame.setVisible(true);/*设置框架可见*/

}

public double getDisplay(){/*返回要显示的结果*/

return number;

}

public void reDisplay(){/*刷新文本域的内容*/

tfShow.setText(""+getDisplay());

}

/*对输入数字的处理*/

public void numberProcess(int num){

if(isNumber&&num!=0){

String s1=Integer.toString(num);

String s2=Integer.toString((int)(this.number));

this.number=Double.parseDouble(s2+s1);/*对多位数字的处理*/

}else{

this.number=num;

}

isNumber=true;/*输入连续数字(即多位数字)时为真*/

}

public void operationProcess(char operator){/*根据输入的操作符改变当前操作符*/

switch(operator){

case '-':

this.operator='-';

break;

case '+':

this.operator='+';

break;

case '*':

this.operator='*';

break;

case '/':

this.operator='/';

break;

}

result=number;

isNumber=false;/*输入操作符时表示输入连续数字的标记变量为假*/

}

public void clear(){

number=0;

result=0;

}

public void equal(){/*计算运算结果*/

switch(operator){

case '-':

result=result-number;

break;

case '+':

result=result+number;

break;

case '*':

result=result*number;

break;

case '/':

result=result/number;

break;

case ' ':

result=number;

break;

}

number=result; /*把运算结果赋值给显示变量*/

isNumber=false;

operator=' ';

}

public static void main(String args[]){

Calculator cal=new Calculator();/*创建计算器*/

}

public void actionPerformed(ActionEvent e){

String command=e.getActionCommand();/*获取按钮激发的操作事件的命令名称*/

char c=command.charAt(0);/*将按钮命令名称的第一个字符赋值给一个字符c*/

switch(c){

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

case '0':

int number=Integer.parseInt(command);

numberProcess(number);/*输入数字的处理*/

break;

case '+':

case '-':

case '*':

case '/':

operationProcess(c);/*算数运算符的处理*/

break;

case '=':equal();break;/*计算运算结果*/

case 'C':clear();break;/*清零*/

}

reDisplay(); /*在文本域中显示信息*/

}

}

运行截图:

3207dbdeb16f470c767e6a9361654862.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值