java功能类和界面类代码Static
时间: 2024-02-17 09:04:11 浏览: 28
以下是Java中一个简单的功能类(Calculator.java)和界面类(CalculatorGUI.java)的代码,其中包含静态方法和静态属性:
Calculator.java:
```java
public class Calculator {
public static int add(int a, int b) {
return a + b;
}
public static double divide(int a, int b) {
if(b == 0) {
throw new IllegalArgumentException("Cannot divide by zero");
}
return (double) a / b;
}
public static final double PI = 3.14159265358979323846;
}
```
CalculatorGUI.java:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CalculatorGUI implements ActionListener {
private JFrame frame;
private JTextField textField1, textField2, resultField;
private JButton addButton, divideButton;
public CalculatorGUI() {
frame = new JFrame("Calculator");
frame.setLayout(new GridLayout(4, 2));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField1 = new JTextField();
textField2 = new JTextField();
resultField = new JTextField();
resultField.setEditable(false);
addButton = new JButton("Add");
addButton.addActionListener(this);
divideButton = new JButton("Divide");
divideButton.addActionListener(this);
frame.add(new JLabel("Number 1:"));
frame.add(textField1);
frame.add(new JLabel("Number 2:"));
frame.add(textField2);
frame.add(new JLabel("Result:"));
frame.add(resultField);
frame.add(addButton);
frame.add(divideButton);
frame.pack();
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
try {
int num1 = Integer.parseInt(textField1.getText());
int num2 = Integer.parseInt(textField2.getText());
if(e.getSource() == addButton) {
resultField.setText(Integer.toString(Calculator.add(num1, num2)));
}
else if(e.getSource() == divideButton) {
resultField.setText(Double.toString(Calculator.divide(num1, num2)));
}
}
catch(NumberFormatException ex) {
JOptionPane.showMessageDialog(frame, "Please enter valid numbers", "Error", JOptionPane.ERROR_MESSAGE);
}
catch(IllegalArgumentException ex) {
JOptionPane.showMessageDialog(frame, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
}
}
}
```
在这个例子中,Calculator类包含了两个静态方法(add和divide)和一个静态属性(PI),它们可以通过类名直接调用。CalculatorGUI类则是一个包含GUI元素的界面类,它实现了ActionListener接口以响应按钮点击事件。当添加或除以两个数字时,它会调用Calculator类的静态方法来执行计算,并在结果文本框中显示结果。