java - 我如何让密码字段等于密码 123456 并让按钮“确定”在 java 中使用它
问题描述
我想当我点击“编辑、添加和更新程序”按钮时,密码字段出现,“确定”按钮出现。ok 按钮应该调用 displaytable() 方法,该方法将显示一个可编辑的表格供用户更改。我如何获得密码才能工作
JButton passcode = new JButton("Edit, add or update programme");//creates button to display editable table
passcode.setBounds(50,200,95,30);
passcode.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) { //here
Char[] password = "123456";
JButton button = new JButton("OK");
JPasswordField pf = new JPasswordField();
button.addActionListener(e1 -> {
if(JPasswordField.getPassword.equals(password){
panel1.add(pf);
panel1.add(button); //TO HERE IM HAVING A PROBLEM WITH
}
});
}
});
解决方案
更好的设计是最初添加这些组件但禁用它们 (setEnabled(false))。无论如何,要在您的场景中回答您的问题,您应该在 UI 线程上运行代码,并在添加新组件后重新验证和重新绘制
if(JPasswordField.getPassword().equals(password){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
panel1.add(pf);
panel1.add(button); //TO HERE IM HAVING A PROBLEM WITH
panel1.validate();
panel1.repaint();
}
});
}
推荐阅读
- javascript - 非负集减法
- hadoop2 - 纱线上的 Spark 提交失败:LeaseExpiredException No Lease on /user/ck/.sparkStaging 没有打开的文件
- java - 我什么时候应该使用 object.wait() 方法,什么时候应该在 java 中使用 Thread.sleep()?
- mysql - [MySQL]如何排序然后分组?
- python - 为什么容器的最大尺寸有符号位?
- java - 找不到 JDK(加速器)
- python - 如何在 Python 中运行 Google Cloud Function 中的子进程
- c - C语言中&array和&array[0]的区别
- c# - AspNetCore 身份 2.0 和 2.1 的区别
- c# - 在两个游戏对象中单独使用相同的变量