两种添加a的方法
documentListener应该有效地相同。下面的示例列出了每个事件的 所有
类型的侦听器
documentListener.class。最明显的一个是
documentListeners它本身,而
匿名内部类
具有(依赖于实现)的名称
documentListeners。两者都实现
documentListener接口。其他是典型的文本组件维护的一部分。请注意,显示了
两个 副本,其中每个侦听器都添加了一个副本。
安慰:
javax.swing.text.JTextComponent$InputMethodRequestsHandler@5090d8eadocumentListeners $ 1 @ 559113f8documentListeners [,0,0,128x38,布局= java.awt.FlowLayout中,alignmentX = 0.0,alignmentY = 0.0,边界=,旗帜= 9,MAXIMUMSIZE =,=的minimumSize,首选大小=]javax.swing.plaf.basic.BasicTextUI$UpdateHandler@27b62aabjavax.swing.text.DefaultCaret$Handler@28ab54ebjavax.swing.text.JTextComponent$InputMethodRequestsHandler@5090d8eadocumentListeners $ 1 @ 559113f8documentListeners [,0,0,128x38,布局= java.awt.FlowLayout中,alignmentX = 0.0,alignmentY = 0.0,边界=,旗帜= 9,MAXIMUMSIZE =,=的minimumSize,首选大小=]javax.swing.plaf.basic.BasicTextUI$UpdateHandler@27b62aabjavax.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;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(); } }); }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)