【发布时间】:2016-05-31 19:42:22
【问题描述】:
我想在与按钮关联的 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);
有什么可以帮助我的吗?错误在哪里? :( 非常感谢任何帮助。
提前致谢。 ;)
【问题讨论】:
-
1) 为了尽快获得更好的帮助,请发帖 minimal reproducible example 或 Short, Self Contained, Correct Example。 2) 请学习常见的 Java 命名法(命名约定 - 例如
EachWordUpperCaseClass、firstWordLowerCaseMethod()、firstWordLowerCaseAttribute,除非它是UPPER_CASE_CONSTANT)并始终如一地使用它。 -
究竟是什么不起作用?你的调试器没有进入你的 actionPerformed?您没有看到“blablabla”消息吗?您没有在屏幕上看到按钮?
标签: java swing actionlistener