我在对话框的文本框内弹出一个JWindow的小框,JWindow里面有一个JList。
JList设置了鼠标监听,如果双击,则设置jWindow.setVisable(false),且把JList的选择结果添加到文本框内。
JWindow也设置了鼠标监听。但是,现在我弹出JWindow后,鼠标一单击JWindow,JWindow就消失了(不是真正的消失,是隐藏到后面去了),
这时候,程序根本没走到JList还是JWindow的鼠标监听里。我把对话框关掉并且当前窗口最小化,然后就看到隐藏在后面的JWindow了,这时候单击还是双击事件都能捕获到了。
请问这是怎么回事?网上查了下,说JWindow无法获得焦点,我又把JWindow换为JFrame,
结果弹出的时候不是弹出的最顶层,也是隐藏在最后面,怎么才能让JFram弹出的时候显示在最外面呢?就像模式对话框那样。我这里我觉得应该使用JFrame,因为JWindow无法获得焦点,它的JList的值我无法通过键盘上下键选择。
JList设置了鼠标监听,如果双击,则设置jWindow.setVisable(false),且把JList的选择结果添加到文本框内。
JWindow也设置了鼠标监听。但是,现在我弹出JWindow后,鼠标一单击JWindow,JWindow就消失了(不是真正的消失,是隐藏到后面去了),
这时候,程序根本没走到JList还是JWindow的鼠标监听里。我把对话框关掉并且当前窗口最小化,然后就看到隐藏在后面的JWindow了,这时候单击还是双击事件都能捕获到了。
请问这是怎么回事?网上查了下,说JWindow无法获得焦点,我又把JWindow换为JFrame,
结果弹出的时候不是弹出的最顶层,也是隐藏在最后面,怎么才能让JFram弹出的时候显示在最外面呢?就像模式对话框那样。我这里我觉得应该使用JFrame,因为JWindow无法获得焦点,它的JList的值我无法通过键盘上下键选择。
解决方案 »
- 大家一起来帮帮我 先谢谢了
- 哪位仁兄会javafx。请指点一下,
- 关与不是内部或外部程序的问题
- 关于tomcat中session
- 如何判断一个文件夹底下是否还有子文件夹?
- 使用java读取文件是如何取得文件使用的字符集?
- 那里能下在到Java核心技术第六版书上的源代码啊?他的书上提供了一个源代码的连接,可是我没有找到
- 请问一个简单问题。
- 如何把“\u865A\u7EBF”这样的Unicode中文字符编码转换为Gb2312的中文字符?
- 我在java中取出的数据库中的数据,中文的都无法显示,怎么办
- 绘制抛物线问题。 就是根据抛物线方程获得N个点,然后连接前一个和后一个点,然后作成抛物线,问题是怎么让连接的线很平滑?坐等高人指教。
- 问个SWING问题
一个工程中,最好只有一个Framejframe = new JFrame();
new JDialog(jFrame);
这样的Dialog就是一直在顶层的
new JDialog(jFrame);
frame.setVisible(true);
JDialog dia = new JDialog(frame);
dia.setSize(100, 100);
dia.setUndecorated(true);
dia.setAlwaysOnTop(true);
dia.setVisible(true);
重点是setUndecorated和setAlwaysOnTop
可以实现JDialog的无边框,一直在顶层的效果
谢谢。但是我试了下还是不行,估计是因为我在模式对话框内弹出JWindow/JFrame,而模式对话框始终显示在最顶层。
jwindow.toFront();
jlist.requireFocusInWindow();
现在在对话框的JTextArea内画了一个JPanel,该显示的时候显示。