作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个扩展 JWindow
的类,它在我的应用程序中用作一种可自定义的对话框。当我需要调用其中一个窗口时,我创建了该类的一个新实例;为了移除窗口,我调用了方法 dispose()。
我遇到的问题是用户无法编辑具有文本框的组件,例如 JTextField
和 JSpinner
。用户可以点击下拉框
和按钮
等组件,这很好用,但是当涉及到在文本框中输入文本时,这就不行了.
有没有人遇到过这个问题?
谢谢!
最佳答案
在子窗口可以接收焦点之前,需要满足很多条件,请参阅 window.isFocusableWindow() 的 api 文档。
对于大多数上下文,将其 focusableWindowState 属性设置为 true 就足够了,例如
JFrame owner = new JFrame();
owner.setVisible(true);
JWindow window = new JWindow(owner);
window.setFocusableWindowState(true);
window.add(new JTextField("edit me"));
window.setSize(200, 200);
window.setVisible(true);
关于Java Swing : Cannot Edit JComponents in JWindow Extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7427569/
我是一名优秀的程序员,十分优秀!