我有一個有兩層的JLayeredPane。頂層是完全透明的,並充當捕獲鼠標事件的玻璃窗格,然後將它們分派到其下面的窗格。由於未知原因,底層無法正確繪製。我是否必須派發繪畫事件或其他東西?順便說一句,我會使用框架的玻璃窗格,但我無法得到它。我堅持使用由Swing頂部構建的GUI框架提供的JPanel。我嘗試使用SwingUtilities來獲取父框架,但它總是返回null。帶透明層的JLayeredPane導致不正確的繪圖
0
A
回答
1
如果你想使用一個Swing的glassPane和捕獲活動使用JLayer(Java 7中)。如果您不使用Java 7,則可以使用JXLayer(http://java.net/projects/jxlayer/)。這是此行爲的新的swing默認組件。見
0
我同意Guillaune的一個非常模糊的問題。所以你可能有一個非常好的理由按照你的方式去做。但是,如果它可以幫助你,也許可以與透明層共處置和乾脆直接附上您的鼠標監聽到的JLayeredPane:
JPanel jP = new JPanel();
JLayeredPane jLP = new JLayeredPane();
MouseAdapter mouse = new MouseAdapter();
jLP.addMouseListener(mouse);
然後一個MouseAdapter類:
public class MouseAdapter{
//Make sure you override the methods
}
的另一種方式,和一個我用很經常,是簡單地延長的JLayeredPane和實施的MouseListener:
public class MyLayers extends JLayeredPane implements MouseListener
{
public MyLayers(){
addMouseListener(this);
}
//again make sure you override the methods
}
這將引發在NetBeans「在構造函數中泄漏這個」,但其ignor能夠。
相關問題
- 1. JLayeredPane中的透明JPanel
- 2. JLayeredPane上的透明JLabels
- 3. 圖層不透明
- 4. 帶透明背景的繪圖控制
- 5. 使KML/KMZ圖層透明/不透明
- 6. 將透明圖像添加到JLayeredPane
- 7. Matplotlib中相交透明圖層的正確圖例顏色
- 8. 帶半透明(半透明)帶的繪製路徑
- 9. 在QGLWidget來繪圖透明QGraphicsWebview導致超級徵收圖像
- 10. UIImageView使用不透明繪圖和透明背景繪圖
- 11. 刪除JLayeredPane中的圖層
- 12. 調整JLayeredPane圖層
- 13. 如何使JLayeredPane上的面板透明?
- 14. 應用不透明的圖像會導致絕對的div也是透明
- 15. Win32 - 什麼會導致不正確的繪圖?
- 16. JLayeredPane沒有繪圖
- 17. 打開圖層:填充多邊形並非真正透明,更像是帶有不透明度的白色
- 18. 繪製一個白色的顏色導致透明的顏色
- 19. 半透明層頂部的不透明層
- 20. 透明SwapChainPanel(compositeMode) - 不透明的DirectX繪圖?
- 21. Matplotlib:繪製具有不透明邊緣的透明直方圖
- 22. 不透明面具的動態繪圖
- 23. WxWidgets繪製不透明度的位圖
- 24. 帶JPanel和JLabel的帶圖標的JLayeredPane
- 25. 繪製到透明目的地會導致拉絲工件
- 26. 在Quartz 2d中使用不透明度生成的圖層,而不是繪製到視圖的圖層
- 27. 在圖層中繪製一個透明的橢圓
- 28. 帶不透明度的GPUImageLightenBlendFilter
- 29. 透明度繪製化合物層,而不是重繪
- 30. 使用MFC工具欄和帶有透明度的PNG圖像,透明度效果不正確
,原因未知和未知代碼,我只能提供一個未知的答案... –