我尝试使用以下代码清除两个文本框。它执行时没有错误,但单击按钮后,文本框中输入的数字不会更改。有什么建议?提前致谢! :)
btnClear = new Button(shlTestProject, SWT.NONE);
btnClear.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
textBox1.setText("");
textBox2.setText("");
}
});
btnClear.setBounds(240, 298, 75, 25);
btnClear.setText("Clear");
textBox1= new Text(shlTestProject, SWT.BORDER);
textBox1.setBounds(224, 386, 76, 21);
textBox1.addVerifyListener(new VerifyListener() {
public void verifyText(VerifyEvent e) {
e.doit = false; //assume we don't allow it
char myChar = e.character; // get the character typed
if (Character.isDigit(myChar)) e.doit = true; // allow 0-9
if (myChar == '\b') { //allow backspace
e.doit = true;
}
}
});
答案 0 :(得分:3)
使用选择侦听器处理按下的按钮:
btnClear.addSelectionListener(new SelectionAdapter()
{
@Override
public void widgetSelected(SelectionEvent e)
{
textBox1.setText("");
textBox2.setText("");
}
});
答案 1 :(得分:1)
public function findPasswords($attribute, $params, $validator)
{
$user = User::findOne(Yii::$app->user->id);
if (!Yii::$app->getSecurity()->validatePassword($this->old_password, $user->password_hash))
$this->addError($attribute, 'The Old Password not match.');
return false;
}
return true;
}
答案 2 :(得分:-2)
正如亚历山大所提到的,在你的班级中实施动作侦听器,然后只需按下特定按钮即可。如果是,请使用此代码清除文本字段。 TextFieldName.setText("");
。
请记住,您需要使用这行代码触发您的动作侦听器事件,否则它将无效。 buttonName.addActionListener(this)
玩得开心!