java - 按钮操作监听器在 Java 窗口中添加新的文本字段

标签 java awt frame textfield

当我添加按钮操作监听器(该监听器应在窗口中的按钮下方添加文本区域)时,它将不起作用。

编译器(Netbeans)建议使用最终变量,但没有任何反应,所以下面的代码显然有问题。

目标:当用户单击第一个按钮(添加用户)时,它应该为他提供文本字段以输入姓名、密码和电子邮件等...

代码:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Main {
    public static void main(String[] args) throws InterruptedException {
        LayoutManager layOut = new FlowLayout(FlowLayout.CENTER);
        Frame f = new Frame();
        f.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
});
        f.setLayout(layOut);
        Label lab = new Label("Welcome to the new program for user management, click the desirable action in this window: ",Label.CENTER);
        Button b1 = new Button("Add User");
        Button b2 = new Button("View all");
        Button b3 = new Button("Edit User");
        Button b4 = new Button("Remove User");
        Button b5 = new Button("Gooo");
        f.add(lab);
        f.add(b1);
        f.add(b2);
        f.add(b3);
        f.add(b4);
        f.setSize(600,600);
        f.setVisible(true);

        b1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                TextField tf = new TextField("This is my text field");
                f.add(tf);
            }
        });   
    }}

最佳答案

如果您创建 f final 并在添加 TextField 后调用 f.revalidate(),您将看到文本字段出现。

关于java - 按钮操作监听器在 Java 窗口中添加新的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23123100/

相关文章:

ios - UIScrollView 框架属性

java显式类型转换给出不同的结果

Java Ant 生成器 - "Content is not allowed in prolog.".sh

java - 使用 UIManager/ColorUIResource 设置按钮背景

java - MouseListener 被另一个 JPanel 组件掩盖了

Java JTextField空字符串错误

android - 如何在预览到 Android Camera2 API 期间获取指向每个帧数据的指针?

javascript - 使用 JavaScript 访问框架的文档对象

从 Firefox 74/75 发布 multipart/form-data 并在服务器端使用 Apache AJP 连接器时出现 java.io.IOException

java - 有没有办法禁止在 Hibernate 中获取列的整个值集?