用Java写一个重力的计算界面
时间: 2023-10-06 14:11:43 浏览: 61
好的,以下是一个简单的重力计算界面示例,使用 Java 的 Swing 框架实现:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GravityCalculator {
private JFrame frame;
private JPanel panel;
private JLabel label_mass1, label_mass2, label_distance, label_result;
private JTextField field_mass1, field_mass2, field_distance;
private JButton button_calculate;
public GravityCalculator() {
createGUI();
bindEvents();
}
private void createGUI() {
frame = new JFrame("Gravity Calculator");
panel = new JPanel(new GridLayout(4, 2, 5, 5));
label_mass1 = new JLabel("Mass 1 (kg):");
panel.add(label_mass1);
field_mass1 = new JTextField();
panel.add(field_mass1);
label_mass2 = new JLabel("Mass 2 (kg):");
panel.add(label_mass2);
field_mass2 = new JTextField();
panel.add(field_mass2);
label_distance = new JLabel("Distance (m):");
panel.add(label_distance);
field_distance = new JTextField();
panel.add(field_distance);
button_calculate = new JButton("Calculate");
panel.add(button_calculate);
label_result = new JLabel("Result:");
panel.add(label_result);
frame.add(panel);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private void bindEvents() {
button_calculate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double mass1 = Double.parseDouble(field_mass1.getText());
double mass2 = Double.parseDouble(field_mass2.getText());
double distance = Double.parseDouble(field_distance.getText());
double gravity = 6.674 * Math.pow(10, -11);
double force = gravity * mass1 * mass2 / Math.pow(distance, 2);
label_result.setText(String.format("Result: %.2e N", force));
}
});
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new GravityCalculator();
}
});
}
}
```
这个界面与上面的 Python 版本类似,使用了一个网格布局管理器来放置标签、文本框和按钮,并在点击 "Calculate" 按钮时计算重力力量并将结果显示在标签中。需要注意的是,按钮的事件处理器中要进行输入值的转换和计算,以及格式化结果的显示。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)