除了一个组件外,“Whiteout”整个swing GUI

时间:2010-08-30 11:51:14

标签: java swing user-interface glasspane jlayer

[此问题与this question]

有关

设置:我有这个自制的“可编辑标签”组件,看起来像一个标签,但是当你点击它时,它会变成一个可编辑的字段,允许你编辑它。您可以点击Esc取消,或按Shift-Enter确认您的修改 - 或点击可编辑字段下方的相应按钮。

挑战:在进行编辑时,我希望整个用户界面“被排除”,除了编辑标签的区域,以清楚地向用户表明他应该在哪里对焦。

2 个答案:

答案 0 :(得分:2)

替代方案,这可以使用JXLayer项目来实现。看看他们的一些演示,当他们选择一个项目时,他们会模糊GUI。您必须实现自己的JXLayer视图才能使GUI变白。

项目网址:https://jxlayer.dev.java.net/

演示在头版的“入门”项目下。

答案 1 :(得分:1)

您可以查看glass pane ...

的可能用法

由于问题作者的评论而更新。

这种问题通常通过Look'n'Feel的个人实现来解决。

通常,需要屏幕的组件将具有为此目的设置的客户端属性。 LnF为该组件创建了一个渲染组件,它还注册了一个监听器。设置此属性后,将由组件触发事件,LnF将接收该事件。在活动接待时,然后在整个容器框架上安装玻璃窗。