站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题获得引用

获得引用

摘要: 获得引用


package liyuan;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.JTextComponent;

import liyuan.JFrame1;


public class JFrame1 extends JFrame
{


public JButton bt = null;
public static JTextField tx = new JTextField();

public JFrame1()
{

JFrame F = new JFrame("TextListener");
F.setVisible(true);
F.setSize(200, 100);
tx.setText("123");
F.getContentPane().add(tx,BorderLayout.WEST);
JButton bt = new JButton("Exit");
bt.setBackground(Color.blue);
F.getContentPane().add(bt,BorderLayout.EAST);
F.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});

tx.getDocument().addDocumentListener(new Swing_OnValueChanged ());



}


public static void printText(){

String s1 = tx.getText();

System.out.println(s1);


}

public void printText1(){

String s1 = tx.getText();

System.out.println(s1);


}
public JFrame1 getRef(){

return this;

}


public static void main(String args[]){

JFrame1 F = new JFrame1();

F.getRef().printText();


}

public String getString(){

return tx.getText();
}


}


class Swing_OnValueChanged implements DocumentListener


{


public void changedUpdate(DocumentEvent e){

System.out.printf("liyuan1" + e);

}

public void insertUpdate(DocumentEvent e){


JFrame1.printText();


}
public void removeUpdate(DocumentEvent e){

System.out.printf("liyuan3");


}

}



请教 在怎么上面的函数 public void insertUpdate(DocumentEvent e){


JFrame1.printText();


}

里面获得 申明 F 的引用 ? 我为获得引用 把 printText();申明为静态, 不是静态的怎么调用 ?

谢谢!










这种情况一般用内部类来声明Listener


匿名内部类实现监听器,或者为Swing_OnValueChanged写一个构造器,把引用通过构造器传入监听器。


↑返回目录
前一篇: cry()方法
后一篇: 不想输出null,覆盖父类方法