代码之家  ›  专栏  ›  技术社区  ›  stolsvik

“白化”整个swing GUI,除了一个组件

  •  1
  • stolsvik  · 技术社区  · 15 年前

    this question ]

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

    挑战 :当点击edit时,我希望整个UI被“白化”,除了edit标签的区域,以清楚地向用户指示他应该关注的地方。

    2 回复  |  直到 9 年前
        1
  •  2
  •   Andy    15 年前

    或者,这可以通过使用JXLayer项目来实现。看看他们的一些演示,当一个项目被选中时,他们模糊了GUI。您必须实现自己的JXLayer视图,以消除GUI。

    https://jxlayer.dev.java.net/

    演示在首页的“入门”项下。

        2
  •  1
  •   Riduidel    15 年前

    你可以看看 glass pane

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

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

    通常,需要屏幕的组件将为此目的设置客户端属性。为该组件创建了呈现组件的LnF也注册了listenr。设置此属性后,LnF将接收的组件将触发一个事件。在活动接待处,然后在整个集装箱框架上安装一块玻璃板。