计算器java图形界面
时间: 2023-11-10 19:04:53 浏览: 108
这个计算器是使用Java Swing图形组件进行开发的,使用了AWT编程,Frame的BorderLayout.NORTH区域放置了一个TextField组件,将指定为5行4列GridLayout布局管理器的Panel放置于Frame的BorderLayout.CENTER区域,其中填充了操作符和操作数按钮。在Calulation类中,定义了数据成员double number1, number2;记录参与运算的两个数字,String operator;记录运算符,boolean unfinishedReading;记录是否读数完成。在构造方法中,设置了文本框的位置和按钮布局。
相关问题
java图形化界面计算器
好的,关于图形化界面计算器,你需要使用Java Swing库来创建用户界面,以及Java的基本数学库来进行计算。以下是一个简单的Java图形化界面计算器的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JPanel panel;
private JTextField textField;
private JButton[] buttons;
private String[] buttonLabels = {"7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", ".", "=", "+"};
private double num1 = 0, num2 = 0;
private String operator = "";
public Calculator() {
setTitle("Java Calculator");
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));
textField = new JTextField();
textField.setHorizontalAlignment(JTextField.RIGHT);
textField.setEditable(false);
buttons = new JButton[buttonLabels.length];
for (int i = 0; i < buttonLabels.length; i++) {
buttons[i] = new JButton(buttonLabels[i]);
buttons[i].addActionListener(this);
panel.add(buttons[i]);
}
add(textField, BorderLayout.NORTH);
add(panel, BorderLayout.CENTER);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String buttonLabel = e.getActionCommand();
if (buttonLabel.matches("[0-9.]")) {
if (operator.equals("")) {
num1 = Double.parseDouble(textField.getText() + buttonLabel);
textField.setText(Double.toString(num1));
} else {
num2 = Double.parseDouble(textField.getText() + buttonLabel);
textField.setText(Double.toString(num2));
}
}
switch (buttonLabel) {
case "+":
case "-":
case "*":
case "/":
operator = buttonLabel;
break;
case "=":
calculate();
break;
default:
break;
}
}
private void calculate() {
switch (operator) {
case "+":
textField.setText(Double.toString(num1 + num2));
break;
case "-":
textField.setText(Double.toString(num1 - num2));
break;
case "*":
textField.setText(Double.toString(num1 * num2));
break;
case "/":
textField.setText(Double.toString(num1 / num2));
break;
default:
break;
}
num1 = Double.parseDouble(textField.getText());
num2 = 0;
operator = "";
}
public static void main(String[] args) {
new Calculator();
}
}
```
这个计算器使用了Java Swing库创建了一个简单的用户界面。它包括一个文本框和一个包含数字和运算符按钮的面板。当用户点击数字或运算符按钮时,它将根据当前操作符将数字存储在一个变量中,并在文本框中显示它们。当用户点击等号按钮时,它将使用存储的数字和操作符计算结果,并将结果显示在文本框中。
使用JAVA代码做出计算器的图形界面
以下是一个简单的计算器图形界面的JAVA代码实现:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField textField; //显示计算结果的文本框
private double num1 = 0, num2 = 0, result = 0; //计算所需的三个数
private String operator = ""; //计算所需的运算符
public Calculator() {
setTitle("Calculator"); //设置窗口标题
setSize(300, 300); //设置窗口大小
setLocationRelativeTo(null); //居中显示
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时结束程序
//创建面板并设置布局
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 4, 5, 5)); //4行4列,间隔为5像素
//创建按钮并添加到面板
String[] buttonTexts = {"7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "C", "0", "=", "+"}; //按钮上的文字
for (int i = 0; i < buttonTexts.length; i++) {
JButton button = new JButton(buttonTexts[i]);
button.addActionListener(this);
panel.add(button);
}
//创建文本框并添加到窗口
textField = new JTextField();
textField.setEditable(false); //禁止编辑
add(textField, BorderLayout.NORTH);
//将面板添加到窗口
add(panel, BorderLayout.CENTER);
setVisible(true); //显示窗口
}
//按钮点击事件
public void actionPerformed(ActionEvent e) {
String buttonText = e.getActionCommand(); //获取按钮上的文字
if (buttonText.equals("C")) { //清除
num1 = num2 = result = 0;
operator = "";
textField.setText("");
} else if (buttonText.equals("+") || buttonText.equals("-") || buttonText.equals("*") || buttonText.equals("/")) { //运算符
num1 = Double.parseDouble(textField.getText());
operator = buttonText;
textField.setText("");
} else if (buttonText.equals("=")) { //等于号
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));
} else { //数字
textField.setText(textField.getText() + buttonText);
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
运行以上代码,即可看到一个简单的计算器图形界面。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)