java gui 计算器_利用Java GUI 实现简单的计算器

importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JButton;importjavax.swing.JTextField;importjava.awt.event.ActionListener;importjava.awt.event.ActionEvent;/*** GUI计算器

*@authorAdministrator

**/

public classCalculater {static float sum =0f;privateJFrame frame;privateJTextField textField;/*** Launch the application.*/

public static voidmain(String[] args) {

EventQueue.invokeLater(newRunnable() {public voidrun() {try{

Calculater window= newCalculater();

window.frame.setVisible(true);

}catch(Exception e) {

e.printStackTrace();

}

}

});

}/*** Create the application.*/

publicCalculater() {

initialize();

}/*** Initialize the contents of the frame.*/

private voidinitialize() {

frame= newJFrame();

frame.setBounds(100, 100, 730, 619);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(null);

JButton btnNewButton= new JButton("1");

btnNewButton.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent arg0) {

textField.setText(textField.getText()+1);

}

});

btnNewButton.setBounds(70, 265, 50, 26);

frame.getContentPane().add(btnNewButton);

JButton button= new JButton("2");

button.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+2);

}

});

button.setBounds(144, 265, 50, 26);

frame.getContentPane().add(button);

JButton button_1= new JButton("3");

button_1.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+3);

}

});

button_1.setBounds(221, 265, 50, 26);

frame.getContentPane().add(button_1);

JButton button_2= new JButton("4");

button_2.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+4);

}

});

button_2.setBounds(70, 304, 50, 26);

frame.getContentPane().add(button_2);

JButton button_3= new JButton("5");

button_3.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+5);

}

});

button_3.setBounds(144, 304, 50, 26);

frame.getContentPane().add(button_3);

JButton button_4= new JButton("6");

button_4.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+6);

}

});

button_4.setBounds(221, 304, 50, 26);

frame.getContentPane().add(button_4);

JButton button_5= new JButton("7");

button_5.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+7);

}

});

button_5.setBounds(70, 339, 50, 26);

frame.getContentPane().add(button_5);

JButton button_6= new JButton("8");

button_6.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+8);

}

});

button_6.setBounds(144, 339, 50, 26);

frame.getContentPane().add(button_6);

JButton button_7= new JButton("9");

button_7.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+9);

}

});

button_7.setBounds(221, 339, 50, 26);

frame.getContentPane().add(button_7);//加法///

JButton button_8 = new JButton("+");

button_8.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+" + ");//加

String str =textField.getText();

String [] stringArr= str.split((" "));if(stringArr.length == 2) {float i = Float.valueOf(stringArr[0]);

sum=i;

}else if(stringArr[stringArr.length-3].equals("+")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum+i;

}else if(stringArr[stringArr.length-3].equals("-")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum-i;

}else if(stringArr[stringArr.length-3].equals("*")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum*i;

}else if(stringArr[stringArr.length-3].equals("/")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum/i;

}

}

});

button_8.setBounds(293, 265, 50, 26);

frame.getContentPane().add(button_8);//减法// JButton button_9 = new JButton("-");

button_9.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+" - ");//减

String str =textField.getText();

String [] stringArr= str.split((" "));if(stringArr.length == 2) {float i = Float.valueOf(stringArr[0]);

sum=i;

}else if(stringArr[stringArr.length-3].equals("+")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum+i;

}else if(stringArr[stringArr.length-3].equals("-")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum-i;

}else if(stringArr[stringArr.length-3].equals("*")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum*i;

}else if(stringArr[stringArr.length-3].equals("/")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum/i;

}

}

});

button_9.setBounds(293, 304, 50, 26);

frame.getContentPane().add(button_9);//乘法// JButton button_10 = new JButton("*");

button_10.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+" * ");

String str=textField.getText();

String [] stringArr= str.split((" "));if(stringArr.length == 2) {float i = Float.valueOf(stringArr[0]);

sum=i;

}else if(stringArr[stringArr.length-3].equals("+")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum+i;

}else if(stringArr[stringArr.length-3].equals("-")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum-i;

}else if(stringArr[stringArr.length-3].equals("*")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum*i;

}else if(stringArr[stringArr.length-3].equals("/")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum/i;

}

}

});

button_10.setBounds(293, 339, 50, 26);

frame.getContentPane().add(button_10);

JButton button_11= new JButton("0");

button_11.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+0);

}

});

button_11.setBounds(144, 380, 50, 26);

frame.getContentPane().add(button_11);//除法// JButton button_12 = new JButton("/");

button_12.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+" / ");

String str=textField.getText();

String [] stringArr= str.split((" "));if(stringArr.length == 2) {float i = Float.valueOf(stringArr[0]);

sum=i;

}else if(stringArr[stringArr.length-3].equals("+")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum+i;

}else if(stringArr[stringArr.length-3].equals("-")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum-i;

}else if(stringArr[stringArr.length-3].equals("*")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum*i;

}else if(stringArr[stringArr.length-3].equals("/")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum/i;

}

}

});

button_12.setBounds(293, 380, 50, 26);

frame.getContentPane().add(button_12);

JButton button_13= new JButton("=");

button_13.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText(textField.getText()+" = ");

String str=textField.getText();

String [] stringArr= str.split((" "));if(stringArr.length == 2) {float i = Float.valueOf(stringArr[0]);

sum=i;

textField.setText(textField.getText()+sum);

}else if(stringArr[stringArr.length-3].equals("+")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum+i;

textField.setText(textField.getText()+sum);

}else if(stringArr[stringArr.length-3].equals("-")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum-i;

textField.setText(textField.getText()+sum);

}else if(stringArr[stringArr.length-3].equals("*")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum*i;

textField.setText(textField.getText()+sum);

}else if(stringArr[stringArr.length-3].equals("/")) {float i = Float.valueOf(stringArr[stringArr.length-2]);

sum= sum/i;

textField.setText(textField.getText()+sum);

}

}

});

button_13.setBounds(364, 265, 50, 26);

frame.getContentPane().add(button_13);

textField= newJTextField();

textField.setBounds(70, 148, 344, 79);

frame.getContentPane().add(textField);

textField.setColumns(10);

JButton btnC= new JButton("C");

btnC.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

textField.setText("");

sum= 0;

}

});

btnC.setBounds(364, 304, 50, 26);

frame.getContentPane().add(btnC);

JButton button_14= new JButton(".");

button_14.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent arg0) {

textField.setText(textField.getText()+".");

}

});

button_14.setBounds(364, 341, 50, 26);

frame.getContentPane().add(button_14);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Java GUI编程实现计算器,你可以使用Swing和AWT这两种Java GUI工具包之一。 以下是一个简单Java GUI计算器实现示例: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Calculator extends JFrame implements ActionListener { private JButton[] numberButtons; private JButton[] operatorButtons; private JButton clearButton, equalsButton, decimalButton; private JTextField textField; private double num1 = 0, num2 = 0, result = 0; private char operator; public Calculator() { setTitle("Calculator"); // Create the number buttons numberButtons = new JButton[10]; for (int i = 0; i < 10; i++) { numberButtons[i] = new JButton(String.valueOf(i)); } // Create the operator buttons operatorButtons = new JButton[4]; operatorButtons[0] = new JButton("+"); operatorButtons[1] = new JButton("-"); operatorButtons[2] = new JButton("*"); operatorButtons[3] = new JButton("/"); // Create the clear, equals, and decimal buttons clearButton = new JButton("C"); equalsButton = new JButton("="); decimalButton = new JButton("."); // Create the text field textField = new JTextField(10); textField.setEditable(false); // Set the layout manager and add the components setLayout(new GridBagLayout()); GridBagConstraints gc = new GridBagConstraints(); gc.gridx = 0; gc.gridy = 0; gc.gridwidth = 4; add(textField, gc); gc.gridwidth = 1; gc.gridy = 1; for (int i = 0; i < 10; i++) { gc.gridx = i % 3; gc.gridy = i / 3 + 2; add(numberButtons[i], gc); numberButtons[i].addActionListener(this); } gc.gridx = 0; gc.gridy = 5; add(operatorButtons[0], gc); operatorButtons[0].addActionListener(this); gc.gridx = 1; add(operatorButtons[1], gc); operatorButtons[1].addActionListener(this); gc.gridx = 2; add(operatorButtons[2], gc); operatorButtons[2].addActionListener(this); gc.gridx = 3; add(operatorButtons[3], gc); operatorButtons[3].addActionListener(this); gc.gridx = 0; gc.gridy = 6; add(clearButton, gc); clearButton.addActionListener(this); gc.gridx = 1; add(equalsButton, gc); equalsButton.addActionListener(this); gc.gridx = 2; add(decimalButton, gc); decimalButton.addActionListener(this); setSize(200, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public void actionPerformed(ActionEvent e) { for (int i = 0; i < 10; i++) { if (e.getSource() == numberButtons[i]) { textField.setText(textField.getText() + i); } } if (e.getSource() == decimalButton) { textField.setText(textField.getText() + "."); } if (e.getSource() == clearButton) { textField.setText(""); num1 = 0; num2 = 0; result = 0; operator = ' '; } if (e.getSource() == operatorButtons[0]) { num1 = Double.parseDouble(textField.getText()); operator = '+'; textField.setText(""); } if (e.getSource() == operatorButtons[1]) { num1 = Double.parseDouble(textField.getText()); operator = '-'; textField.setText(""); } if (e.getSource() == operatorButtons[2]) { num1 = Double.parseDouble(textField.getText()); operator = '*'; textField.setText(""); } if (e.getSource() == operatorButtons[3]) { num1 = Double.parseDouble(textField.getText()); operator = '/'; textField.setText(""); } if (e.getSource() == equalsButton) { num2 = Double.parseDouble(textField.getText()); switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; } textField.setText(Double.toString(result)); } } public static void main(String[] args) { new Calculator(); } } ``` 这个示例应该可以实现一个简单Java GUI计算器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值