栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

利用java GUI图形工具实现简单的计算器界面的功能(仅仅实现计算器的界面不可以真实的实现计算功能)

Java 更新时间:发布时间: 百科书网 趣学号

结果展示:

 

//定义的按钮类
import javax.swing.*;
import java.awt.*;

public class MyJbutton extends JButton {
    public MyJbutton(String name){
        super(name);
        setBorderPainted(true);
        setEnabled(true);
        setFont(new  java.awt.Font("华文行楷",  1,  15));
        setBackground(Color.white);
    }

}
//定义的界面类
import javax.swing.*;

public class Myjframe extends JFrame {
    public Myjframe(int x,int y,int w,int h){
        super();
        setBounds(x,y,w,h);

    }
}
//主程序
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Test {

    public static void main(String[] args) {
        new MyInterface();

    }
}
class MyInterface {
    MyJbutton button17 = new MyJbutton("0");
    MyJbutton button18 = new MyJbutton("1");
    MyJbutton button19 = new MyJbutton("2");
    MyJbutton button20 = new MyJbutton("3");
    MyJbutton button21 = new MyJbutton("4");
    MyJbutton button22 = new MyJbutton("5");
    MyJbutton button23 = new MyJbutton("6");
    MyJbutton button24 = new MyJbutton("7");
    MyJbutton button25 = new MyJbutton("8");
    MyJbutton button26 = new MyJbutton("9");

    JTextField jtext = new JTextField(40);
    public MyInterface() {
        Myjframe jf = new Myjframe(400, 400, 600, 400);
        jf.setTitle("计算器");
        jf.setLayout(new BorderLayout());

        //文本框
        jtext.setHorizontalAlignment(JTextField.RIGHT);
        JPanel jpanel0 = new JPanel(new BorderLayout());
        JPanel jPanelinput = new JPanel();
        jPanelinput.add(jtext);
        jpanel0.add(jPanelinput, BorderLayout.NORTH);
        jf.add(jpanel0, BorderLayout.CENTER);


        //标签
        JMenuBar bar = new JMenuBar();
        jf.setJMenuBar(bar);
        JMenu help = new JMenu("帮助");

        bar.add(help);
        JMenuItem about1=new JMenuItem("关于");
        help.add(about1);
        about1.addActionListener(new Myabout());
        jf.add(bar,BorderLayout.NORTH);


        //选择区
        JPanel jpanel2 = new JPanel(new BorderLayout());
        jpanel0.add(jpanel2, BorderLayout.CENTER);
        //进制选择
        JPanel jPanelselect = new JPanel(new GridLayout(1, 2));
        jpanel2.add(jPanelselect, BorderLayout.NORTH);
        JRadioButton radioButton1 = new JRadioButton("十进制",true);
        JRadioButton radioButton2 = new JRadioButton("八进制");
        JRadioButton radioButton3 = new JRadioButton("二进制");
        radioButton1.setActionCommand("十");
        radioButton2.setActionCommand("八");
        radioButton3.setActionCommand("二");

        button17.addActionListener(new MyListener(this));
        button18.addActionListener(new MyListener(this));
        button19.addActionListener(new MyListener(this));
        button20.addActionListener(new MyListener(this));
        button21.addActionListener(new MyListener(this));
        button22.addActionListener(new MyListener(this));
        button23.addActionListener(new MyListener(this));
        button24.addActionListener(new MyListener(this));
        button25.addActionListener(new MyListener(this));
        button26.addActionListener(new MyListener(this));
        radioButton1.addActionListener(new MyListener(this));
        radioButton2.addActionListener(new MyListener(this));
        radioButton3.addActionListener(new MyListener(this));
        ButtonGroup group = new ButtonGroup();
        group.add(radioButton1);
        group.add(radioButton2);
        group.add(radioButton3);
        JPanel jPanelsystem1 = new JPanel();
        jPanelsystem1.add(radioButton1);
        jPanelsystem1.add(radioButton2);
        jPanelsystem1.add(radioButton3);
        jPanelselect.add(jPanelsystem1);
        // Inv和 Hyp的选则
        JCheckBox jCheckBox1 = new JCheckBox("Inv");
        JCheckBox jCheckBox2 = new JCheckBox("Hyp");
        JPanel jPanelsystem2 = new JPanel();
        jPanelsystem2.add(jCheckBox1);
        jPanelsystem2.add(jCheckBox2);
        jPanelselect.add(jPanelsystem2);


        JPanel jpanel3 = new JPanel(new GridLayout(1, 2, 20, 0));
        jpanel2.add(jpanel3, BorderLayout.CENTER);

        //功能选择
        JPanel jPanel4 = new JPanel(new GridLayout(4, 4, 3, 4));
        jpanel3.add(jPanel4);
        MyJbutton button1=new MyJbutton("Sin");
        MyJbutton button2=new MyJbutton("And");
        MyJbutton button3=new MyJbutton("(");
        MyJbutton button4=new MyJbutton(")");
        MyJbutton button5=new MyJbutton("Cos");
        MyJbutton button6=new MyJbutton("Or");
        MyJbutton button7=new MyJbutton("Exp");
        MyJbutton button8=new MyJbutton("Ln");
        MyJbutton button9=new MyJbutton("tan");
        MyJbutton button10=new MyJbutton("Xor");
        MyJbutton button11=new MyJbutton("x^y");
        MyJbutton button12=new MyJbutton("log");
        MyJbutton button13=new MyJbutton("e");
        MyJbutton button14=new MyJbutton("Not");
        MyJbutton button15=new MyJbutton("x^3");
        MyJbutton button16=new MyJbutton("n!");

        jPanel4.add(button1);
        jPanel4.add(button2);
        jPanel4.add(button3);
        jPanel4.add(button4);
        jPanel4.add(button5);
        jPanel4.add(button6);
        jPanel4.add(button7);
        jPanel4.add(button8);
        jPanel4.add(button9);
        jPanel4.add(button10);
        jPanel4.add(button11);
        jPanel4.add(button12);
        jPanel4.add(button13);
        jPanel4.add(button14);
        jPanel4.add(button15);
        jPanel4.add(button16);

        //数字选择
        JPanel jPanel5 = new JPanel(new GridLayout(4, 4, 3, 4));
        jpanel3.add(jPanel5);

        MyJbutton button27 = new MyJbutton("+");
        MyJbutton button28 = new MyJbutton("-");
        MyJbutton button29 = new MyJbutton("*");
        MyJbutton button30 = new MyJbutton("/");
        MyJbutton button31 = new MyJbutton("C");
        MyJbutton button32 = new MyJbutton("=");
        jPanel5.add(button17);
        jPanel5.add(button18);
        jPanel5.add(button19);
        jPanel5.add(button20);
        jPanel5.add(button21);
        jPanel5.add(button22);
        jPanel5.add(button23);
        jPanel5.add(button24);
        jPanel5.add(button25);
        jPanel5.add(button26);
        jPanel5.add(button27);
        jPanel5.add(button28);
        jPanel5.add(button29);
        jPanel5.add(button30);
        jPanel5.add(button31);
        jPanel5.add(button32);


        jf.setVisible(true);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}
class MyListener implements ActionListener {
    MyInterface myInterface=null;
    public MyListener(MyInterface myInterface){
        this.myInterface=myInterface;
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("二")) {
            myInterface.button17.setEnabled(true);
            myInterface.button18.setEnabled(true);
            myInterface.button19.setEnabled(false);
            myInterface.button20.setEnabled(false);
            myInterface.button21.setEnabled(false);
            myInterface.button22.setEnabled(false);
            myInterface.button23.setEnabled(false);
            myInterface.button24.setEnabled(false);
            myInterface.button25.setEnabled(false);
            myInterface.button26.setEnabled(false);
        }else if(e.getActionCommand().equals("八")){
            myInterface.button17.setEnabled(true);
            myInterface.button18.setEnabled(true);
            myInterface.button19.setEnabled(true);
            myInterface.button20.setEnabled(true);
            myInterface.button21.setEnabled(true);
            myInterface.button22.setEnabled(true);
            myInterface.button23.setEnabled(true);
            myInterface.button24.setEnabled(true);
            myInterface.button25.setEnabled(false);
            myInterface.button26.setEnabled(false);
        } else if (e.getActionCommand().equals("十")) {
            myInterface.button17.setEnabled(true);
            myInterface.button18.setEnabled(true);
            myInterface.button19.setEnabled(true);
            myInterface.button20.setEnabled(true);
            myInterface.button21.setEnabled(true);
            myInterface.button22.setEnabled(true);
            myInterface.button23.setEnabled(true);
            myInterface.button24.setEnabled(true);
            myInterface.button25.setEnabled(true);
            myInterface.button26.setEnabled(true);
        } else if (e.getActionCommand().equals("0")) {
            myInterface.jtext.setText("0");
        } else if (e.getActionCommand().equals("1")) {
            myInterface.jtext.setText("1");
        } else if (e.getActionCommand().equals("2")) {
            myInterface.jtext.setText("2");
        } else if (e.getActionCommand().equals("3")) {
            myInterface.jtext.setText("3");
        } else if (e.getActionCommand().equals("4")) {
            myInterface.jtext.setText("4");
        } else if (e.getActionCommand().equals("5")) {
            myInterface.jtext.setText("5");
        } else if (e.getActionCommand().equals("6")) {
            myInterface.jtext.setText("6");
        }else if(e.getActionCommand().equals("7")){
            myInterface.jtext.setText("7");
        } else if (e.getActionCommand().equals("8")) {
            myInterface.jtext.setText("8");
        } else if (e.getActionCommand().equals("9")) {
            myInterface.jtext.setText("9");
        }

    }
}
class Myabout implements ActionListener{
    @Override
    public void actionPerformed(ActionEvent e){
        new MyDialog();
    }
}
class MyDialog extends JDialog{
    public MyDialog(){
        Container container = getContentPane();
        JPanel jPanel=new JPanel(new GridLayout(3,1));
        JLabel name=new JLabel("作者:name");
        JLabel son=new JLabel("学号:123456");
        JLabel clas=new JLabel("班级:计算机");
        jPanel.add(name);
        jPanel.add(son);
        jPanel.add(clas);
        container.add(jPanel);
        setTitle("关于");
        setBounds(450,450,300,200);
        setVisible(true);

    }
}

 

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/889226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号