如何获取当前在JTable中输入文本?

时间:2014-09-03 07:26:54

标签: java swing jtable

我正在开发一个项目。在那我需要获得当前在JTable的特定列中键入字符。 如果我正在使用,

 table.getValueAt(table.getSelectedRow(), 1)

在我选择另一列之前,它不会返回任何内容。如何在JTable中输入当前文本?

2 个答案:

答案 0 :(得分:0)

你可以在JTable列中使用jcombobox和自动完成装饰器,这里是Using a Combo Box as an Editor的方法。在密钥类型集上DefaultComboBoxModel 使用JList

答案 1 :(得分:0)

您可以通过调用方法来使用编辑器:

Component component = table.getEditorComponent();

使用此编辑器获取正在编辑的文本,或者将文档侦听器附加到其中,或者您喜欢的任何内容,如下所示:

JTextComponent editor = (JTextEditor)component;

String text = editor.getText();

editor.getDocument().addDocumentListener(new DocumentListener() {

    void changedUpdate(DocumentEvent e) { ... }
    void insertUpdate(DocumentEvent e) { ... }
    void removeUpdate(DocumentEvent e) { ... }

});