因此,這個問題的初始設置是有一個JDialog,並且裏面放置了一個可容納其餘組件的JPanel(因爲繪製JDialog本身顯然是一個壞主意)。此JPanel具有覆蓋paintComponent(Graphics g)方法,該方法僅繪製背景併爲美學目的添加了一個微弱的邊框。如何用JDialog,JPanel解決圖形問題?
現在裏面是一系列對所包含的表單組件進行分類的JPanel,並且每個JPanel都有一個重寫的paintComponent(Graphics g),並繪製一個半透明的背景。
在這些JPanels中,我開始遇到一些問題,可能是透明度問題。我在這些面板內部有JTextFields,JCheckBoxes,JLabels,JSliders等,當你與其中一個(懸停,點擊等)交互時,背景從透明變爲不透明,來自另一個場的偶爾幻影圖像有時)。我正在使用custom LAF called Web,但我使用其他內置LAF進行了測試,結果也是如此。
這是Java的故障還是我搞砸了?如果是這樣,我該如何修補它?如果需要,我可以稍後粘貼代碼片段,但我已經使用了幾個自定義類和九塊拼接樣式圖像拼接,這可能會使代碼片段難以遵循。提前致謝!
請確保繪製透明度的組件已被設置爲透明(setOpaque(false)),這將讓重繪管理器知道它必須繪製背後的內容 – MadProgrammer
此外,非常重要的是,確保您請在執行任何自定義繪製之前調用'super.paintComponent' – MadProgrammer
爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –