因此,在我的程序的一个给定点中,我想清除屏幕上的一些文本字段,这样当事件发生时,我会放入textfield.setText("")
,但它不起作用。我也试过textfield.setText(null)
如果我在字符串"中放入一些字符,.setText()方法就可以工作,但当它为空时就不能工作,因此我无法擦除它的内容。
我错过了什么?
代码段:http://pastebin.com/bwpRgRUq
private void RbConsActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
BtReg.setVisible(false);
TFAtividade.setText("-");
TFAtividade.setEditable(false);
TFCPF.setText("-");
TFCPF.setEditable(false);
TFCargo.setText("-");
TFCargo.setEditable(false);
TFEmail.setText("-");
TFEmail.setEditable(false);
TFNome.setText("-");
TFNome.setEditable(false);
TFSalario.setText("-");
TFSalario.setEditable(false);
TFSetor.setText("-");
TFSetor.setEditable(false);
RBTemConta.setEnabled(false);
LBCN.setVisible(true);
LBCC.setVisible(true);
TFConsNome.setVisible(true);
TFConsCPF.setVisible(true);
this.repaint();
}
编辑:我注意到,当setText()方法设置一个空的"或null字符串时,它永远不会被调用。现在,当我调用它,给出任何至少有一个字符的字符串时,它会被调用,但只有在我第二次单击触发这些调用的JRadioButton时。我知道触发器正在工作,因为我设置为可见的组件在我第一次单击JRB时就会出现。
当我定义JTextField时,我会这样做:
JTextField textfield = new JTextField(null);
它创建了一个空的文本字段!