编写一个图形应用程序,安排一个文本框、一个按钮和一个标签,从文本框录入一个数字(0~99),单击按钮将其对应的英文单词(如zero,one等)显示在标签中。思考,进一步扩展数据的范围(如0~100)
时间: 2024-12-11 14:19:11 浏览: 6
要编写一个图形应用程序,可以使用像Java Swing这样的GUI库。下面是一个基本的例子,展示了如何创建一个包含文本框、按钮和标签的简单窗口,用户输入数字后点击按钮将相应的英文单词显示在标签上。我们将首先考虑0-99的范围,然后再扩展到0-100。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class NumberToWordConverter extends JFrame implements ActionListener {
private JTextField textField;
private JButton button;
private JLabel label;
public NumberToWordConverter() {
// 创建窗口布局
setLayout(new FlowLayout());
setTitle("Number to Word Converter");
// 创建文本框
textField = new JTextField();
add(textField);
// 创建按钮
button = new JButton("Convert");
button.addActionListener(this);
add(button);
// 创建标签
label = new JLabel("Result:");
add(label);
}
@Override
public void actionPerformed(ActionEvent e) {
try {
int number = Integer.parseInt(textField.getText());
String word = convertToWord(number);
label.setText(word);
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(this, "Please enter a valid number between 0 and 99.");
}
}
private String convertToWord(int number) {
if (number < 0 || number > 99) {
throw new IllegalArgumentException("Number must be between 0 and 99.");
}
// ... (添加适用于0-100的英文单词映射)
// Here we'll only handle numbers within the initial range
if (number < 10) {
return "zero to nine"; // 假设对应关系已经存在,这里仅做示例
} else if (number < 20) {
return "ten to nineteen";
} else {
// 单位和十位分开处理...
}
}
public static void main(String[] args) {
NumberToWordConverter app = new NumberToWordConverter();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(300, 200);
app.setVisible(true);
}
}
```
在此代码中,我们创建了一个框架,当用户点击“Convert”按钮时,它会读取文本框的内容并尝试转换成英文单词。如果输入不是有效的数字或超出范围,我们会显示错误消息。对于0-100的扩展,你可以为10至99之间的每个数字单独创建映射,或者使用类似的方法处理更大的范围。
阅读全文