gpt4 book ai didi

Java Swing : Cannot Edit JComponents in JWindow Extension

转载 作者:行者123 更新时间:2023-11-30 07:31:11 27 4
gpt4 key购买 nike

我编写了一个扩展 JWindow 的类,它在我的应用程序中用作一种可自定义的对话框。当我需要调用其中一个窗口时,我创建了该类的一个新实例;为了移除窗口,我调用了方法 dispose()。

我遇到的问题是用户无法编辑具有文本框的组件,例如 JTextFieldJSpinner。用户可以点击下拉框按钮等组件,这很好用,但是当涉及到在文本框中输入文本时,这就不行了.

有没有人遇到过这个问题?

谢谢!

最佳答案

在子窗口可以接收焦点之前,需要满足很多条件,请参阅 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com