关于鼠标焦点的问题,请来看看~~

llm0528 2009-07-19 11:25:59
我只是想设置一下组件的焦点,但是就是不行,请大家帮忙看看问题出在哪里?

public class Test4 extends JFrame{


Test4(){
JTextField text1 = new JTextField();
JTextField text2 = new JTextField();
this.add(text1, BorderLayout.NORTH);
this.add(text2, BorderLayout.SOUTH);
boolean b = text2.requestFocusInWindow(); //关键是这里
System.out.println(b);
}
public static void main(String[] args){
Test4 test4 = new Test4();
test4.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension size = new Dimension(300, 200);
test4.setSize(size);
test4.setPreferredSize(size);
test4.setMaximumSize(size);
test4.setMinimumSize(size);
test4.setVisible(true);
}
}
...全文
67 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
llm0528 2009-07-20
  • 打赏
  • 举报
回复
太谢谢上面的帅哥~!!!
lasfrost 2009-07-20
  • 打赏
  • 举报
回复
现在回答LZ的问题,组件申请获得焦点的前提是组件是可视的,你可以把text2.requestFocusInWindow();改为:

addComponentListener(new ComponentAdapter () {
public void componentShown(ComponentEvent e) {
boolean b = text2.requestFocusInWindow();
System.out.println(b);
}
});
lasfrost 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 virginkj 的回复:]
我想问一下楼主 你直接在JFrame上加组件 能看到东西吗?
[/Quote]
帮lz再回答次你,能看,JFrame.add就相当于JFrame.getContentPane().add。另外,帖子不用发发发三次……
llm0528 2009-07-20
  • 打赏
  • 举报
回复
为什么不能?(我平时用的时候都是通过SwingUtilities.invokeLater,但是为了发帖我才拆开来的),为什么你要同一句话回复3次?难道是新版的原因?
virginkj 2009-07-20
  • 打赏
  • 举报
回复
我想问一下楼主 你直接在JFrame上加组件 能看到东西吗?
virginkj 2009-07-20
  • 打赏
  • 举报
回复
我想问一下楼主 你直接在JFrame上加组件 能看到东西吗?
virginkj 2009-07-20
  • 打赏
  • 举报
回复
我想问一下楼主 你直接在JFrame上加组件 能看到东西吗?
llm0528 2009-07-20
  • 打赏
  • 举报
回复
靠,新版不能将帖子移前~~~

62,621

社区成员

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

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