用java写一个小程序显示实现窗口化,向窗口复选框中可以分别输入三个整数分别为边长a,边长b,边长c,把这三个数值分别当作一个三角形的三条边。该程序需判断输入的三角形是普通三角形或者直角三角形、等边三角形或等腰三角形,当点击验证时会对三角形进行判断,点击清空时输入框中内容会清空,退出则关闭当前窗口
时间: 2023-04-04 12:01:00 浏览: 59
你好,以下是我的回答:
可以使用Java的Swing库来实现窗口化,具体实现步骤如下:
1. 创建一个JFrame对象,设置窗口标题和大小。
2. 在JFrame中添加三个JTextField对象和一个JButton对象,用于输入三角形的三条边和验证按钮。
3. 在JButton的ActionListener中编写判断三角形类型的代码,并在JFrame中添加一个JLabel对象,用于显示判断结果。
4. 在JButton的ActionListener中添加清空输入框内容的代码。
5. 在JFrame的WindowListener中添加关闭窗口的代码。
具体实现细节可以参考以下代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TriangleFrame extends JFrame {
private JTextField sideAField, sideBField, sideCField;
private JButton verifyButton;
private JLabel resultLabel;
public TriangleFrame() {
setTitle("Triangle Verification");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 2));
panel.add(new JLabel("Side A:"));
sideAField = new JTextField();
panel.add(sideAField);
panel.add(new JLabel("Side B:"));
sideBField = new JTextField();
panel.add(sideBField);
panel.add(new JLabel("Side C:"));
sideCField = new JTextField();
panel.add(sideCField);
verifyButton = new JButton("Verify");
verifyButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int a = Integer.parseInt(sideAField.getText());
int b = Integer.parseInt(sideBField.getText());
int c = Integer.parseInt(sideCField.getText());
String result = "";
if (a == b && b == c) {
result = "Equilateral Triangle";
} else if (a == b || b == c || a == c) {
result = "Isosceles Triangle";
} else if (a * a + b * b == c * c || b * b + c * c == a * a || a * a + c * c == b * b) {
result = "Right Triangle";
} else {
result = "Scalene Triangle";
}
resultLabel.setText(result);
}
});
panel.add(verifyButton);
JButton clearButton = new JButton("Clear");
clearButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sideAField.setText("");
sideBField.setText("");
sideCField.setText("");
resultLabel.setText("");
}
});
panel.add(clearButton);
resultLabel = new JLabel();
panel.add(resultLabel);
add(panel);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
}
});
}
public static void main(String[] args) {
TriangleFrame frame = new TriangleFrame();
frame.setVisible(true);
}
}