gpt4 book ai didi

java - ActionPerformed 方法不起作用

转载 作者:行者123 更新时间:2023-12-02 03:34:57 25 4
gpt4 key购买 nike

我想在与按钮关联的 ActionPerformed 方法内执行一个方法,但不起作用。我研究了很多时间,但无法检测到错误。

这是我的代码:

/**
* Método que crea un nuevo usuario en el sistema
* y lo guarda en el arrayList de usuarios
*/
public static void crearUsuario()
{
JPanel panelCrearUsuario = new JPanel();
JDialog frame = new JDialog();

//label nuevo usuario
panelCrearUsuario.add(new JLabel("Nuevo Usuario: "));

//textbox nuevo usuario
JTextField jtNombreUsuario = new JTextField(15);
panelCrearUsuario.add(jtNombreUsuario);

//label DNI
panelCrearUsuario.add(new JLabel("DNI usuario: "));

//textbox DNI
JTextField jtDNIUsuario = new JTextField(15);
panelCrearUsuario.add(jtDNIUsuario);

//botón crear usuario
JButton JButtonCrearUsuario = new JButton("Crear usuario");
panelCrearUsuario.add(JButtonCrearUsuario);

frame.getContentPane().add(panelCrearUsuario);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

frame.pack();
frame.setSize(420, 460);
frame.setModal(true);
frame.setVisible(true);

Usuario u = new Usuario();
u.setNombre(jtNombreUsuario.getText());
u.setDNI(jtDNIUsuario.getText());

JButtonCrearUsuario.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
//Debbuging the IDE doesn't enter here :(
System.out.println("blablabla");
JButtonCrearUsuarioEvento(u);
}

});

}

我也尝试过这种方式:

ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

System.out.println("blablabla");
JButtonCrearUsuarioEvento(u);

}
};

JButtonCrearUsuario.addActionListener(listener);

有什么可以帮助我吗?错误在哪里? :(我真的很感谢任何帮助。

提前致谢。 ;)

最佳答案

在将JButton添加到面板之前添加 Action 监听器,并显示jdialog,然后它就可以工作:更改代码如下:

    /**
* Método que crea un nuevo usuario en el sistema
* y lo guarda en el arrayList de usuarios
*/
public static void crearUsuario()
{
JPanel panelCrearUsuario = new JPanel();
JDialog frame = new JDialog();

//label nuevo usuario
panelCrearUsuario.add(new JLabel("Nuevo Usuario: "));

//textbox nuevo usuario
JTextField jtNombreUsuario = new JTextField(15);
panelCrearUsuario.add(jtNombreUsuario);

//label DNI
panelCrearUsuario.add(new JLabel("DNI usuario: "));

//textbox DNI
JTextField jtDNIUsuario = new JTextField(15);
panelCrearUsuario.add(jtDNIUsuario);

//botón crear usuario
JButton JButtonCrearUsuario = new JButton("Crear usuario");

JButtonCrearUsuario.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
//Debbuging the IDE doesn't enter here :(
System.out.println("blablabla");
JButtonCrearUsuarioEvento(u);
}

});

panelCrearUsuario.add(JButtonCrearUsuario);

frame.getContentPane().add(panelCrearUsuario);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

frame.pack();
frame.setSize(420, 460);
frame.setModal(true);
frame.setVisible(true);

Usuario u = new Usuario();
u.setNombre(jtNombreUsuario.getText());
u.setDNI(jtDNIUsuario.getText());



}

关于java - ActionPerformed 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37544517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com