JSpinner 怎么写获得焦点的事件?

ljb295 2008-11-08 07:15:50
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 怎么写获得焦点的事件?
有知道的赐教.
...全文
213 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gongfuliang 2008-11-28
  • 打赏
  • 举报
回复
通常JSpinner的getEditor返回的是一个组件组,基本上是JPanel等容器。
通过JComponent的getComponents获取加载在上面的组件,基本上0就是Text,其他的是两个Button

通过下面的方法添加焦点监听:
s.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");
}
});

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧