Button Action侦听器在Java中的窗口中添加新的文本字段

时间:2014-04-17 01:36:28

标签: java awt frame textfield

当我添加Button Action侦听器时,它应该在我的窗口中的按钮下面添加textarea,它将无效。

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

目标:当用户点击第一个按钮(添加用户)时,应该给他输入名称,密码和电子邮件等文本字段......

CODE:

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);
            }
        });   
    }}

1 个答案:

答案 0 :(得分:2)

如果您在添加TextField后创建了f final并且还调用了f.revalidate(),则会看到您的文本字段。