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

952911572... 9 5 29 11 572 展开
 我来答
百度网友1fcf34c73
2013-05-03 · TA获得超过865个赞
知道小有建树答主
回答量:400
采纳率:100%
帮助的人:455万
展开全部

/*计算器*/
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;/*存储输入数值、显示结果的变量*/
    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.length;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.length;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(); /*在文本域中显示信息*/
    }
}


运行截图:

追问
这个同学做过了,有没有别的啊?大神
追答

见附件,另外告诉你一个一般人不知道的秘密:

JDK安装目录下面的,demo目录全是写的很好的小样例,其中jfc目录就是java窗口样例。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式