2、Java编写窗体应用程序,安排一个文本框、一个按钮和一个标签,从文本框录入一个数字(0~9),点击按钮将其对应的英文单词(如:zero,one等)显示在标签中。
时间: 2024-11-25 14:14:52 浏览: 23
在Java中,你可以使用Swing或JavaFX库来创建图形用户界面(GUI)应用。这里我们使用Swing来完成这个需求,因为它更传统也更广泛地被使用。
首先,确保已添加Swing库到项目中。以下是如何创建一个简单的窗口,包含一个JTextField(文本框)、JButton(按钮)和JLabel(标签)的步骤:
1. 导入所需的包:
```java
import javax.swing.*;
import java.awt.*;
```
2. 创建`MyWindow`类继承`JFrame`:
```java
public class MyWindow extends JFrame {
private JTextField textField;
private JButton button;
private JLabel label;
public MyWindow() {
// ...
}
// 方法主体
}
```
3. 初始化组件并布局:
```java
public void initComponents() {
setLayout(new FlowLayout());
textField = new JTextField(10); // 设置文本框宽度为10个字符
textField.addActionListener(e -> handleButtonClick()); // 文本框输入监听
button = new JButton("Get Word"); // 创建按钮
button.addActionListener(this::handleButtonClick); // 按钮点击事件处理器
label = new JLabel(); // 创建初始时无文字的标签
label.setSize(200, 50); // 设置大小,具体数值根据实际需求调整
add(textField);
add(button);
add(label);
}
```
4. 定义`handleButtonClick()`方法,获取文本框中的值,并根据其转换成相应的英文单词:
```java
private String[] wordMap = {"zero", "one", ...}; // 数字到单词映射,需要手动填充
private String getWord(int number) {
if (number >= 0 && number < wordMap.length) {
return wordMap[number];
}
return "Invalid input"; // 如果输入超出范围,返回错误消息
}
private void handleButtonClick(ActionEvent e) {
int enteredNumber = Integer.parseInt(textField.getText());
String result = getWord(enteredNumber);
label.setText(result);
if (!result.equals("Invalid input")) { // 防止显示无效信息
label.setForeground(Color.GREEN); // 可选:设置绿色字体颜色表示成功
} else {
label.setForeground(Color.RED); // 另一种颜色表示错误
}
}
```
5. 设置窗口的基本属性和显示:
```java
@Override
public void setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
MyWindow window = new MyWindow();
window.setTitle("Number to Word Converter");
window.initComponents();
window.pack();
window.setVisible(true);
});
}
```
现在你已经有了一个基本的窗口应用,当用户在文本框中输入一个0-9的数字并点击按钮后,会在标签中显示对应的英文单词。如果你有完整的单词映射,记得替换`wordMap`数组。
阅读全文