我想在与按钮关联的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);
有什么能帮助我吗?错误在哪里? :( 我真的很感激任何帮助。
提前致谢。 ;)
答案 0 :(得分:2)
在将JButton添加到面板并显示jdialog之前添加动作侦听器,然后它将起作用:更改代码如下:
dll