下面是一个简单的 Java Swing 实现,包含三个文本框用于输入三角形的三条边:```java import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class TriangleAreaCalculator extends JFrame { private JLabel label1, label2, label3,...
java设计一个求三角形面积的图形界面,要求通过3个输入框输入3个边长
下面是一个简单的 Java Swing 实现,包含三个文本框用于输入三角形的三条边:
```java
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class TriangleAreaCalculator extends JFrame {
private JLabel label1, label2, label3, resultLabel, errorLabel;
private JTextField tf1, tf2, tf3;
private JButton calculateButton;
public TriangleAreaCalculator() {
setTitle("Triangle Area Calculator"); // 设置窗口标题
setLayout(new GridLayout(5, 2)); // 设置网格布局
// 创建文本标签和文本框
label1 = new JLabel("Enter the length of side 1:");
tf1 = new JTextField(10);
label2 = new JLabel("Enter the length of side 2:");
tf2 = new JTextField(10);
label3 = new JLabel("Enter the length of side 3:");
tf3 = new JTextField(10);
// 创建计算按钮和结果标签
calculateButton = new JButton("Calculate");
resultLabel = new JLabel("");
errorLabel = new JLabel("");
// 添加组件到窗口
add(label1);
add(tf1);
add(label2);
add(tf2);
add(label3);
add(tf3);
add(calculateButton);
add(resultLabel);
add(errorLabel);
// 添加按钮监听器
calculateButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
double a = Double.parseDouble(tf1.getText());
double b = Double.parseDouble(tf2.getText());
double c = Double.parseDouble(tf3.getText());
if (a + b <= c || a + c <= b || b + c <= a) {
throw new IllegalArgumentException("Invalid input! The sum of any two sides must be greater than the third side.");
}
double s = (a + b + c) / 2;
double area = Math.sqrt(s * (s - a) * (s - b) * (s - c));
resultLabel.setText(String.format("The area of the triangle is: %.2f", area)); // 显示计算结果,保留两位小数
errorLabel.setText(""); // 清除错误提示
} catch (NumberFormatException ex) {
resultLabel.setText("");
errorLabel.setText("Invalid input! Please enter a number.");
} catch (IllegalArgumentException ex) {
resultLabel.setText("");
errorLabel.setText(ex.getMessage());
}
}
});
pack(); // 使窗口大小自适应内容
setLocationRelativeTo(null); // 将窗口置于屏幕中央
setResizable(false); // 禁止调整窗口大小
setDefaultCloseOperation(EXIT_ON_CLOSE); // 设置窗口关闭行为
}
public static void main(String[] args) {
TriangleAreaCalculator calculator = new TriangleAreaCalculator();
calculator.setVisible(true);
}
}
```
通过绑定按钮的监听器,在输入三边长度后单击 “Calculate” 按钮,程序将计算三角形的面积,并在下方展示计算结果,当用户输入不合法数据时,也会在下方展示错误提示。2023-06-27