用JAVA语言编写GUI程序,提供华氏温度和摄氏温度的相互转换
时间: 2024-11-05 15:27:30 浏览: 48
在Java中编写GUI程序实现华氏和摄氏温度的相互转换,通常会使用Swing或JavaFX这样的图形用户界面库,以及Math类来进行数学计算。下面是一个简单的示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TemperatureConverter extends JFrame {
private JTextField fahrenheitField;
private JTextField celsiusField;
private JButton convertButton;
public TemperatureConverter() {
setTitle("Temperature Converter");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3, 2));
JLabel fahrenheitLabel = new JLabel("华氏度:");
fahrenheitField = new JTextField();
JLabel celsiusLabel = new JLabel("摄氏度:");
celsiusField = new JTextField();
convertButton = new JButton("转换");
convertButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
double fahrenheit = Double.parseDouble(fahrenheitField.getText());
double celsius = (fahrenheit - 32) * 5 / 9;
celsiusField.setText(String.format("%.2f", celsius));
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "请输入有效的数字!");
}
}
});
panel.add(fahrenheitLabel);
panel.add(fahrenheitField);
panel.add(celsiusLabel);
panel.add(celsiusField);
panel.add(new JLabel("-"));
panel.add(convertButton);
add(panel);
setVisible(true);
}
// Main method for running the GUI as a standalone application
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new TemperatureConverter();
}
});
}
}
```
在这个程序中,用户可以在输入框里输入华氏温度,点击"转换"按钮后,会将华氏度转化为摄氏度,并显示在另一个文本框中。如果输入非数字内容,程序会弹出错误提示。
阅读全文