java做一个重力单位转换的界面
时间: 2024-03-19 10:45:49 浏览: 22
可以使用Java Swing框架来实现重力单位转换的界面。以下是一个简单的实现示例。
```java
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class GravityConverter extends JFrame implements ActionListener {
private JLabel titleLabel;
private JLabel inputLabel;
private JLabel outputLabel;
private JTextField inputTextField;
private JTextField outputTextField;
private JButton convertButton;
private JComboBox<String> fromComboBox;
private JComboBox<String> toComboBox;
public GravityConverter() {
super("重力单位转换器");
// 标题
titleLabel = new JLabel("重力单位转换器");
titleLabel.setFont(new Font("宋体", Font.BOLD, 20));
titleLabel.setHorizontalAlignment(JLabel.CENTER);
// 输入框和标签
inputLabel = new JLabel("输入数值:");
inputTextField = new JTextField(10);
// 输出框和标签
outputLabel = new JLabel("转换结果:");
outputTextField = new JTextField(10);
outputTextField.setEditable(false);
// 转换按钮
convertButton = new JButton("转换");
convertButton.addActionListener(this);
// 单位选择框
String[] unitList = {"牛顿", "千克力", "磅力"};
fromComboBox = new JComboBox<String>(unitList);
toComboBox = new JComboBox<String>(unitList);
// 布局
JPanel inputPanel = new JPanel(new FlowLayout());
inputPanel.add(inputLabel);
inputPanel.add(inputTextField);
JPanel outputPanel = new JPanel(new FlowLayout());
outputPanel.add(outputLabel);
outputPanel.add(outputTextField);
JPanel buttonPanel = new JPanel(new FlowLayout());
buttonPanel.add(convertButton);
JPanel unitPanel = new JPanel(new GridLayout(2, 2));
unitPanel.add(new JLabel("从:"));
unitPanel.add(fromComboBox);
unitPanel.add(new JLabel("到:"));
unitPanel.add(toComboBox);
JPanel mainPanel = new JPanel(new GridLayout(5, 1));
mainPanel.add(titleLabel);
mainPanel.add(inputPanel);
mainPanel.add(outputPanel);
mainPanel.add(buttonPanel);
mainPanel.add(unitPanel);
add(mainPanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
double inputValue = Double.parseDouble(inputTextField.getText());
String fromUnit = (String) fromComboBox.getSelectedItem();
String toUnit = (String) toComboBox.getSelectedItem();
double outputValue = 0.0;
if (fromUnit.equals("牛顿")) {
if (toUnit.equals("千克力")) {
outputValue = inputValue / 9.80665;
} else if (toUnit.equals("磅力")) {
outputValue = inputValue / 4.44822;
} else {
outputValue = inputValue;
}
} else if (fromUnit.equals("千克力")) {
if (toUnit.equals("牛顿")) {
outputValue = inputValue * 9.80665;
} else if (toUnit.equals("磅力")) {
outputValue = inputValue * 2.20462;
} else {
outputValue = inputValue;
}
} else {
if (toUnit.equals("牛顿")) {
outputValue = inputValue * 4.44822;
} else if (toUnit.equals("千克力")) {
outputValue = inputValue / 2.20462;
} else {
outputValue = inputValue;
}
}
outputTextField.setText(Double.toString(outputValue));
}
public static void main(String[] args) {
new GravityConverter();
}
}
```
注:以上代码只是一个基本示例,还可以根据需要进行优化和改进。