我试图使用以下代码清除两个文本框。它执行没有错误,但在文本框中输入的数字不会改变,一旦按钮被单击。有什么建议吗?提前感谢!:)
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;
}
}
});
使用一个选择监听器来处理被按下的按钮:
btnClear.addSelectionListener(new SelectionAdapter()
{
@Override
public void widgetSelected(SelectionEvent e)
{
textBox1.setText("");
textBox2.setText("");
}
});
clear.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick (View v){
textView.setText("");
}
});
正如Alexander提到的,在你的类中实现Action Listener,然后简单地监听特定的按钮是否被按下。如果是,请使用此代码清除文本字段。TextFieldName.setText("");
.
请记住,您需要使用这行代码来触发操作侦听器事件,否则它将不起作用。buttonName.addActionListener(this)
祝你编程愉快!