与 JLayeredPane 背后的 JPanel 交互
Interact with JPanel behind JLayeredPane
我最近一直在使用 Java 的 swing 库,我遇到了另一个问题。
我有一个位于 JPanel 之上的透明 JLayeredPane。我需要与 JPanel 交互(使用鼠标监听器),但由于我添加了 JLayeredPane,我无法与 JPanel 交互。
附带说明一下,我打包了我的 JFrame,我想将其打包在 JPanel 周围,而不是 JLayeredPane,但现在 JLayeredPane 似乎优先。
示例 - 请记住面板上实际上有内容,这只是示例。
public Main()
{
// Main JPanel
JPanel mainPanel = new JPanel();
add(mainPanel, BorderLayout.CENTER);
// JLayeredPane
add(new JLayeredPane(), BorderLayout.CENTER);
// Add Mouse Listener
mainPanel.addMouseListener(new CustomMouseListener());
}
Keep in mind there is actually content on the panels,
MouseListener 应该添加到添加到分层窗格的面板中,而不是包含分层窗格的面板中。
我最近一直在使用 Java 的 swing 库,我遇到了另一个问题。
我有一个位于 JPanel 之上的透明 JLayeredPane。我需要与 JPanel 交互(使用鼠标监听器),但由于我添加了 JLayeredPane,我无法与 JPanel 交互。
附带说明一下,我打包了我的 JFrame,我想将其打包在 JPanel 周围,而不是 JLayeredPane,但现在 JLayeredPane 似乎优先。
示例 - 请记住面板上实际上有内容,这只是示例。
public Main()
{
// Main JPanel
JPanel mainPanel = new JPanel();
add(mainPanel, BorderLayout.CENTER);
// JLayeredPane
add(new JLayeredPane(), BorderLayout.CENTER);
// Add Mouse Listener
mainPanel.addMouseListener(new CustomMouseListener());
}
Keep in mind there is actually content on the panels,
MouseListener 应该添加到添加到分层窗格的面板中,而不是包含分层窗格的面板中。