我有一个JButton,我希望在按下10次后禁用它。虽然,由于某种原因,我的代码不起作用。你能给我任何帮助吗?
button.addActionListener(new ActionListener() {
int counter = 0;
public void actionPerformed(ActionEvent arg0)
{
liste.add((double) Integer.parseInt(textField.getText()));
textField.setText("");
while(counter < 9)
{
counter++;
if(counter == 10)
{
buton.setEnabled(false);
}
}
}
}
另外,我想在按下10次后显示一个消息对话框。你能救我吗?
答案 0 :(得分:0)
public void mousePressed( MouseEvent e ) {
if ( e.getClickCount() == 10 ) {
( (JButton) ev.getSource).setEnabled( false );
}
}
或
int counter = 0;
private void functionForButtonClick (Events, handlers etc..){
counter++;
if(counter >= 10){
btnHold1.setEnabled(false);
}
}
答案 1 :(得分:0)
您甚至不需要while循环,只需将int counter = 0
移到addActionListener(...
上方,然后在public void actionPerformed()
内增加计数器。然后检查actionPerformed中的if (counter == 10)
。
要显示消息框,请使用JOptionPane.showMessageDialog();
public static void showMessageDialog(Component parentComponent, Object message, String title, int messageType) throws HeadlessException打开一个对话框,使用messageType参数确定的默认图标显示消息。
这大致是你的代码应该看起来像你正确的那样。
int counter = 0;
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
counter++;
if(counter == 10)
{
button.setEnabled(false);
// Show message dialog
JOptionPane.showMessageDialog(null, "This is my message", "This is my message title", JOptionPane.INFORMATION_MESSAGE);
}
}
}
答案 2 :(得分:-1)
答案是这样的。谢谢你们。
buton.addActionListener(new ActionListener() {
int counter = 0;
public void actionPerformed(ActionEvent arg0) {
liste.add((double) Integer.parseInt(textField.getText()));
textField.setText("");
counter++;
if (counter == 10) {
buton.setEnabled(false);
}
}
}