最近在写一个java的计时器,功能比较多,我是想把计时器上的时间传递到一个Jtable组件中,但是我同时把计时器用的组件Jlabel和Jtable放到Jframe上时,焦点好像自动跑到Jtable上,我的计时器就不能用了。
    我在网上看说是Jlabel没有焦点,不能用这个,但是别的我感觉出来以后效果不好(如果有效果好的可以说下,像TextField和TextArea就算了),不知道怎么解决,还望高手指点!!

解决方案 »

  1.   

    焦点和计时器有什么关系呢?你的JLabel会对焦点进行处理么,也就是在其获得焦点的
    时候计时么?
    最好再说得详细一些。
    PS:有方法可以设置组件获得焦点的顺序,参考下:setNextFocusableComponent@Deprecated
    public void setNextFocusableComponent(Component aComponent)    已过时。 从 1.4 版本开始,由 FocusTraversalPolicy 取代    在版本 1.4 中,重新设计了焦点子系统。有关更多信息,请参阅《The Java Tutorial》中的 How to Use the Focus Subsystem 一节。    为此 JComponent 的焦点遍历循环重写默认的 FocusTraversalPolicy,方法是无条件地将指定的 Component 设置为循环中的下一个 Component,并将此 JComponent 设置为循环中指定 Component 的前一个 Component。    参数:
            aComponent - 焦点遍历循环中应该跟随在此 JComponent 后的 Component
        另请参见:
            getNextFocusableComponent(), FocusTraversalPolicy
      

  2.   

    回复2楼,计时器的时间是在Jlabel上显示的
    回复3楼,计时器有好几个GUI组件,有Jtable,Jlabel什么的,而计时器是放在Jlabel上显示的。我的label没有对焦点进行处理,我是想把焦点锁定到label上,数据会自动跑到table这些地方上 的。不知有何方法,谢谢
      

  3.   

    这个,貌似没法吧。或者你可以用JButton替换JLbael.