始终选中保留java textField中的文本

时间:2014-05-16 17:20:37

标签: java swing jtextfield

在处理java textField的输出时,我需要始终选择输入文本。我编写的代码完全有效,只是始终选中它中的文本。请帮助我修改代码,以便textField中的文本始终保持选中状态。我使用了'textField.selectAll();',但它在这里不起作用。

private class ButtonClickListener implements ActionListener{

    public void actionPerformed(ActionEvent e) {
        String command = e.getActionCommand();  
        if( command.equals( "OK" )) {  

            String text = textField.getText();
            textField.selectAll(); 
            textArea.append(text + newline); 

            System.out.print(text);

            //Make sure the new text is visible, even if there
            //was a selection in the text area.
            textArea.setCaretPosition(textArea.getDocument().getLength());
        }
    }   
}

1 个答案:

答案 0 :(得分:1)

在文本文档中添加DocumentListener,即使用户删除或插入值,也会始终选择文本。

textfield.getDocument().addDocumentListener(new DocumentListener(){
     @Override
     public void removeUpdate(DocumentEvent e){
         textfield.selectAll();
     }   

     @Override
     public void insertUpdate(DocumentEvent e){
         textfield.selectAll();
     } 

     @Override
     public void changedUpdate(DocumentEvent e){
      //nothing to do..
     }

});

How to wirte a Document Listener

中了解详情