问题描述
我想要当我单击“编辑,添加和更新程序”按钮时,出现密码字段,并且出现“确定”按钮。确定按钮应该调用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();
}
});
}