this.getFocusOwner().getName()
这个的返回值不是控件的name比如
我点击一个JButton控件 我想得到这个控件的名字jButton1
但是得到的结果是null我想做的是得到有焦点的控件的名字
不知有没有什么方法
getname返回的应该是compoment的名字才对
this.getFocusOwner().getName()为什么不行

解决方案 »

  1.   

    你的方法应该没有问题,可是getFocusOwner()要保证当前的窗口是活动窗口,你是什么时候用这个方法的?
      

  2.   

    你看这个吧
    System.out.println(((JButton)this.getFocusOwner()).getText());
    System.out.println(((JButton)this.getFocusOwner()).getName());
    第一句返回jButton1的text成功
    第二句返回null肯定不是焦点的问题
      

  3.   

    哦!我知道了你是不是在新建这个component的时候没有setName()?仔细看看!
      

  4.   

    事没有设
    jbuilder6环境下
    JButton的缺省名字不就是jButton1、jButton2...之类的东西么
      

  5.   

    我又想了想this.getName();
    如果this是一个JFrame实例的话可以返回frame0
    并不是null
    这怎么解释我已经结贴了
    这里好像没有显示出来