用java编写一个图形界面程序,计算平面上任意给定的两个点距离
时间: 2024-03-12 14:44:04 浏览: 98
基于java的计算器..AWT的图形界面,具有加法,减法,乘法,除法等计算功能.zip
好的,下面是一个使用Java Swing编写的简单程序,可以计算平面上任意给定的两个点之间的距离:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DistanceCalculator extends JFrame implements ActionListener {
private JTextField x1Field, y1Field, x2Field, y2Field;
private JLabel distanceLabel;
public DistanceCalculator() {
super("距离计算器");
// 创建输入框和标签
x1Field = new JTextField(5);
y1Field = new JTextField(5);
x2Field = new JTextField(5);
y2Field = new JTextField(5);
JLabel x1Label = new JLabel("点1的x坐标:");
JLabel y1Label = new JLabel("点1的y坐标:");
JLabel x2Label = new JLabel("点2的x坐标:");
JLabel y2Label = new JLabel("点2的y坐标:");
JLabel distanceTitle = new JLabel("两点之间的距离:");
distanceLabel = new JLabel("N/A");
// 创建计算按钮
JButton calculateButton = new JButton("计算");
calculateButton.addActionListener(this);
// 设置布局
JPanel inputPanel = new JPanel(new GridLayout(4, 2));
inputPanel.add(x1Label);
inputPanel.add(x1Field);
inputPanel.add(y1Label);
inputPanel.add(y1Field);
inputPanel.add(x2Label);
inputPanel.add(x2Field);
inputPanel.add(y2Label);
inputPanel.add(y2Field);
JPanel distancePanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
distancePanel.add(distanceTitle);
distancePanel.add(distanceLabel);
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
buttonPanel.add(calculateButton);
setLayout(new BorderLayout());
add(inputPanel, BorderLayout.NORTH);
add(distancePanel, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
// 设置窗口属性
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// 获取输入值
double x1 = Double.parseDouble(x1Field.getText());
double y1 = Double.parseDouble(y1Field.getText());
double x2 = Double.parseDouble(x2Field.getText());
double y2 = Double.parseDouble(y2Field.getText());
// 计算距离
double distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
distanceLabel.setText(String.format("%.2f", distance));
}
public static void main(String[] args) {
new DistanceCalculator();
}
}
```
这个程序使用了 `JFrame`、`JPanel`、`JLabel`、`JTextField` 和 `JButton` 等 Swing 组件,通过使用布局管理器来构建界面。在 `actionPerformed` 方法中,获取输入值并计算出两点之间的距离,然后更新距离标签的文本。在 `main` 方法中,创建了一个 `DistanceCalculator` 实例,启动程序。
阅读全文