使用按钮清除TextField (Java)



我试图使用以下代码清除两个文本框。它执行没有错误,但在文本框中输入的数字不会改变,一旦按钮被单击。有什么建议吗?提前感谢!:)

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)

祝你编程愉快!

最新更新