当前位置: 代码迷 >> Java相关 >> 急!!在监听器中得到别一个类的文本值
  详细解决方案

急!!在监听器中得到别一个类的文本值

热度:139   发布时间:2010-05-18 20:50:01.0
急!!在监听器中得到别一个类的文本值
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-18 12:50:01
baifenghan

等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
  得分:2 
一般就是设置ActionList 是UIinit()方法所在类的一个内部类就可以了,ActionList 就可以直接访问到t1 了,这样就很容易达到你的目的了。



----------------解决方案--------------------------------------------------------
// String tf1=((TextField) e.getSource()).getText();
//System.out.println(tf1);
e.getSource()是事件源的控件,在这里应该就是“启动服务”按钮。所以不能这么做。

要得到TextField的值,其实也有多种方法的。我就举一种方法。
假设你的TextField在类Text中,在Text中写一个得到该TextField的方法,方法为public JTextField getTextField(){};
然后在你的代码中做以下修改
程序代码:
class ActionList implements ActionListener, TextListener {
    private Text text;
   
    public ActionList(){
        super();
    }

    public ActionList(Text text){
        super();
        this.text = text;
    }

    public void actionPerformed(ActionEvent e) {
        System.out.println();
        if (e.getActionCommand().equals("启动服务")) {
            在这里如何来得到,下面t1中的值呢
                   // String tf1=((TextField) e.getSource()).getText();
                    
//System.out.println(tf1);
            if(text!=null){
                String tf1=text.getTextField().getText();
                System.out.println(tf1);
            }
        } else if (e.getActionCommand().equals("停止服务")) {
            System.out.println("!!!!!!!");
        } else if (e.getActionCommand().equals("t1")) {
            System.out.println("!!!e!!!!");
        }
    }

    public void textValueChanged(TextEvent e) {
        // TODO Auto-generated method stub

    }

}

没有在eclipse中看,不知道是否有错误,楼主自己调整下

----------------解决方案--------------------------------------------------------
  相关解决方案