js = new JSpinner();          
        js.addFocusListener(focusListener);        FocusListener focusListener = new FocusListener(){
        public void focusGained(FocusEvent e) {
            try{
                Thread.currentThread().wait();
            }catch(InterruptedException n){               
            }
            System.out.print("dkf");
            javax.swing.JOptionPane.showMessageDialog(null, "dlfjld");
        }        public void focusLost(FocusEvent e) {
            timer.start();
        我写的价码如上所示,但在JS得到焦点时候并没有触发事件.
另外我还用JText 和 JButton测试了下,都可以,但为什么这个就不行呢?
JSpinner 为什么不能有获得焦点的事件?
有知道的赐教.

解决方案 »

  1.   

    JSpinner是一个复合组件,是Text和Button组合而成。不明白在其上加Focus的用处?
      

  2.   

    JSpinner是一个复合组件,是Text和Button组合而成。 不明白在其上加Focus的用处?我想在调节时得到焦点.不知道这样子要怎么做?
      

  3.   

    通常JSpinner的getEditor返回的是一个组件组,基本上是JPanel等容器。
    通过JComponent的getComponents获取加载在上面的组件,基本上0就是Text,其他的是两个Buttons.getEditor().getComponents()[0].addFocusListener(new FocusListener(){ public void focusGained(FocusEvent e) {
    System.out.println("Focus Gained");
    } public void focusLost(FocusEvent e) {
    System.out.println("Focus Lost");
    }
    });