请给我一个对于三角问题,设计相应的GUI程序,用文本框接受输入和输出,输入为三角形的三条边,输出为:参数不合法、不能构成三角形、普通三角形、等腰三角形、等边三角形。的Java代码
时间: 2024-03-20 09:39:00 浏览: 75
MATLAB的GUI程序生成2D和3D三角网(格网法计算体积)测绘工程专业程序
好的,我可以为您提供一个Java GUI程序来解决这个问题。以下是代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TriangleGUI extends JFrame implements ActionListener {
private JTextField side1Field, side2Field, side3Field, resultField;
private JButton checkButton;
public TriangleGUI() {
// 设置窗口标题
setTitle("Triangle Checker");
// 设置窗口大小和位置
setSize(400, 200);
setLocationRelativeTo(null);
// 创建输入框和标签
JLabel side1Label = new JLabel("Side 1:");
side1Field = new JTextField(10);
JLabel side2Label = new JLabel("Side 2:");
side2Field = new JTextField(10);
JLabel side3Label = new JLabel("Side 3:");
side3Field = new JTextField(10);
JLabel resultLabel = new JLabel("Result:");
resultField = new JTextField(15);
resultField.setEditable(false);
// 创建检查按钮
checkButton = new JButton("Check");
checkButton.addActionListener(this);
// 创建面板并添加组件
JPanel inputPanel = new JPanel(new GridLayout(4, 2));
inputPanel.add(side1Label);
inputPanel.add(side1Field);
inputPanel.add(side2Label);
inputPanel.add(side2Field);
inputPanel.add(side3Label);
inputPanel.add(side3Field);
inputPanel.add(resultLabel);
inputPanel.add(resultField);
// 添加面板和按钮到窗口
add(inputPanel, BorderLayout.CENTER);
add(checkButton, BorderLayout.SOUTH);
}
// 实现 ActionListener 接口
public void actionPerformed(ActionEvent event) {
if (event.getSource() == checkButton) {
// 获取输入的三边长度
double side1 = Double.parseDouble(side1Field.getText());
double side2 = Double.parseDouble(side2Field.getText());
double side3 = Double.parseDouble(side3Field.getText());
// 判断三角形类型并更新结果文本框
if (!isValidTriangle(side1, side2, side3)) {
resultField.setText("参数不合法或不能构成三角形");
} else if (isEquilateralTriangle(side1, side2, side3)) {
resultField.setText("等边三角形");
} else if (isIsoscelesTriangle(side1, side2, side3)) {
resultField.setText("等腰三角形");
} else {
resultField.setText("普通三角形");
}
}
}
// 判断是否为三角形
private boolean isValidTriangle(double a, double b, double c) {
return (a + b > c) && (a + c > b) && (b + c > a);
}
// 判断是否为等边三角形
private boolean isEquilateralTriangle(double a, double b, double c) {
return (a == b) && (a == c);
}
// 判断是否为等腰三角形
private boolean isIsoscelesTriangle(double a, double b, double c) {
return (a == b) || (a == c) || (b == c);
}
public static void main(String[] args) {
// 创建 GUI 窗口对象并显示
TriangleGUI triangleGUI = new TriangleGUI();
triangleGUI.setVisible(true);
triangleGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
```
这个程序使用了Java的Swing GUI库来创建窗口和组件,当用户点击“检查”按钮时,程序会读取文本框中的三条边的长度,并根据长度判断三角形的类型,最后在结果文本框中输出结果。
阅读全文