用java的GUI编写一个能够转换华氏温度和摄氏温度的程序。在“摄氏温度”文本域输入一个值并点击华氏按钮(两个按钮—摄氏按钮、华氏按钮),在华氏文本域显示相应的华氏温度。反之,在“华氏文温度”文本域输入一个值,点击摄氏按钮,在摄氏文本域中显示相应的摄氏温度。
时间: 2024-02-11 09:07:34 浏览: 82
好的,我可以为您提供一个简单的Java GUI程序,可以实现华氏温度和摄氏温度之间的转换。以下是程序代码:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TemperatureConverter extends JFrame implements ActionListener {
private JLabel celsiusLabel, fahrenheitLabel;
private JTextField celsiusField, fahrenheitField;
private JButton celsiusButton, fahrenheitButton;
public TemperatureConverter() {
super("Temperature Converter");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 150);
setResizable(false);
JPanel panel = new JPanel(new GridLayout(2, 2));
celsiusLabel = new JLabel("Celsius:");
fahrenheitLabel = new JLabel("Fahrenheit:");
celsiusField = new JTextField(10);
fahrenheitField = new JTextField(10);
celsiusButton = new JButton("Convert to Fahrenheit");
fahrenheitButton = new JButton("Convert to Celsius");
celsiusButton.addActionListener(this);
fahrenheitButton.addActionListener(this);
panel.add(celsiusLabel);
panel.add(celsiusField);
panel.add(celsiusButton);
panel.add(fahrenheitLabel);
panel.add(fahrenheitField);
panel.add(fahrenheitButton);
add(panel);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == celsiusButton) {
double celsius = Double.parseDouble(celsiusField.getText());
double fahrenheit = (celsius * 9 / 5) + 32;
fahrenheitField.setText(String.format("%.2f", fahrenheit));
}
if (e.getSource() == fahrenheitButton) {
double fahrenheit = Double.parseDouble(fahrenheitField.getText());
double celsius = (fahrenheit - 32) * 5 / 9;
celsiusField.setText(String.format("%.2f", celsius));
}
}
public static void main(String[] args) {
new TemperatureConverter();
}
}
```
该程序实现了一个简单的窗口,其中包含两个文本域和两个按钮。用户可以在摄氏文本域或华氏文本域中输入一个温度值,并点击相应的按钮进行转换。
当用户点击“Convert to Fahrenheit”按钮时,程序将获取摄氏温度值并将其转换为华氏温度值,并将结果显示在华氏文本域中。当用户点击“Convert to Celsius”按钮时,程序将获取华氏温度值并将其转换为摄氏温度值,并将结果显示在摄氏文本域中。
希望这个程序对您有帮助!
阅读全文