可以实例化DocumentListener类型

我需要这样做:将值更改侦听器更改为JTextField

我想Condemwnci的解决方案,但我得到的是错误的路线:

textField.getDocument().addDocumentListener(new DocumentListener() 在我的情况是:

jtxtfBuscarInv.getDocument().addDocumentListener(new DocumentListener()

就我而言,我想更新Jtable中的行,所以我的方法将是这样的:

ordenador.setRowFilter(RowFilter.regexFilter(jtxtfBuscarInv.getText(), 0));

我在Linux ubuntu 11.10上使用Eclipse(如果有的话)。


编辑:

我不明白为什么,但是它可以通过以下方式工作:

textField.getDocument().addDocumentListener(this);

然后改写Implements方法,而不是全部在同一行中完成。

回答:

两种添加a的方法DocumentListener应该有效地相同。下面的示例列出了每个事件的 所有

类型的侦听器DocumentListener.class。最明显的一个是DocumentListeners它本身,而

匿名内部类

具有(依赖于实现)的名称DocumentListeners$1。两者都实现DocumentListener接口。其他是典型的文本组件维护的一部分。请注意,显示了

两个 副本,其中每个侦听器都添加了一个副本。

安慰:

javax.swing.text.JTextComponent$InputMethodRequestsHandler@5090d8ea

DocumentListeners $ 1 @ 559113f8

DocumentListeners [,0,0,128x38,layout = java.awt.FlowLayout,alignmentX = 0.0,alignmentY = 0.0,border =,flags = 9,maximumSize =,minimumSize =,preferredSize =]

javax.swing.plaf.basic.BasicTextUI$UpdateHandler@27b62aab

javax.swing.text.DefaultCaret$Handler@28ab54eb

javax.swing.text.JTextComponent$InputMethodRequestsHandler@5090d8ea

DocumentListeners $ 1 @ 559113f8

DocumentListeners [,0,0,128x38,layout = java.awt.FlowLayout,alignmentX = 0.0,alignmentY = 0.0,border =,flags = 9,maximumSize =,minimumSize =,preferredSize =]

javax.swing.plaf.basic.BasicTextUI$UpdateHandler@27b62aab

javax.swing.text.DefaultCaret$Handler@28ab54eb

码:

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.event.DocumentEvent;

import javax.swing.event.DocumentListener;

import javax.swing.text.AbstractDocument;

/** @see http://stackoverflow.com/questions/8283067 */

public class DocumentListeners extends JPanel implements DocumentListener {

JTextField jtf = new JTextField("StackOverflow!");

public DocumentListeners() {

this.add(jtf);

jtf.getDocument().addDocumentListener(this);

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

@Override

public void insertUpdate(DocumentEvent e) {

print(e);

}

@Override

public void removeUpdate(DocumentEvent e) {

print(e);

}

@Override

public void changedUpdate(DocumentEvent e) {

print(e);

}

});

}

private void print(DocumentEvent e) {

AbstractDocument ad = (AbstractDocument) jtf.getDocument();

for (DocumentListener dl : ad.getListeners(DocumentListener.class)) {

System.out.println(dl);

}

}

@Override

public void insertUpdate(DocumentEvent e) {

print(e);

}

@Override

public void removeUpdate(DocumentEvent e) {

print(e);

}

@Override

public void changedUpdate(DocumentEvent e) {

print(e);

}

private void display() {

JFrame f = new JFrame("DocumentListeners");

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.add(this);

f.pack();

f.setLocationRelativeTo(null);

f.setVisible(true);

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

new DocumentListeners().display();

}

});

}

}

以上是 可以实例化DocumentListener类型 的全部内容, 来源链接: utcz.com/qa/403852.html

回到顶部