【问题标题】:Clicking on JLayeredPane clicks on behind button点击 JLayeredPane 点击后面的按钮
【发布时间】:2015-12-07 04:48:10
【问题描述】:

正如你看到的,当我点击红色区域时,仍然点击后退按钮(开始序列),我在这里使用JLayeredPane

谁能帮帮我?

【问题讨论】:

  • 能贴出相关代码吗?
  • layeredPanel.add(expandedPanel, JLayeredPane.MODAL_LAYER + 10); layeredPanel.add(bannerPanel, JLayeredPane.MODAL_LAYER + 20); layeredPanel.add(cameraPopupPanel, JLayeredPane.MODAL_LAYER + 30); layeredPanel.add(videoPanel, JLayeredPane.MODAL_LAYER + 40); layeredPanel.add(sidePanel, JLayeredPane.MODAL_LAYER + 50);
    expandedPanel是红色的面板,sidePanel包含按钮
  • 请将代码添加到您的原始帖子中,以便我们正确阅读。问题可能出在您的鼠标和/或按键监听器上,因此请务必同时添加它们。
  • @Leet-Falcon 最佳的代码是minimal reproducible example。在评论中输入 [mcve] 以使其“自动扩展为该标题和链接。

标签: java swing jlayeredpane


【解决方案1】:

正如你所看到的,当我点击红色区域时,仍然点击后退按钮(开始序列),

红色区域的意义何在?

在红色区域添加一个 MouseListener。然后它应该接收 MouseEvent,而不是它下面的组件。

【讨论】:

  • 对我来说同样的问题。在我自己的示例中,红色区域只是一个占位符,稍后将填充标签和按钮。
【解决方案2】:

使用以下代码可以解决上述问题:

    layeredPanel.add(bannerPanel, JLayeredPane.MODAL_LAYER + 20);

    layeredPanel.add(expandedPanel, JLayeredPane.MODAL_LAYER + 10);

    layeredPanel.add(cameraPopupPanel, JLayeredPane.MODAL_LAYER + 30);

    layeredPanel.add(videoPanel, JLayeredPane.MODAL_LAYER + 40);

    layeredPanel.add(sidePanel, JLayeredPane.MODAL_LAYER + 50);

layeredPanel 是 JLayeredPane 的一个实例

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    相关资源
    最近更新 更多