[英]Remove Unexpected border of JTabbedPane
該問題的答案在很大程度上取決於您為應用程序使用的外觀。 我無法通過查看屏幕截圖來判斷您使用的是哪一個,因為您對其進行了大量修改,並且在安裝它的問題中遺漏了部分代碼。 如果您沒有安裝任何特定的 - 您正在運行默認的外觀,如果我沒記錯的話,根據操作系統/JDK 版本的不同,外觀和感覺也可能有所不同。
因此,正如@sleepToken在評論中已經說過的那樣-不要發布代碼的隨機部分或全部代碼,而是發布SSCCE 。 雖然有時您可能認為這是不必要的和/或不相關的 - 在許多情況下並非如此,並且它確實有助於閱讀並嘗試回答您的問題以運行代碼並在必要時調試問題的人。
話雖如此 - 我可以對您的問題給出一個一般性答案:所有組件均由其各自的 UI 實現(在這種特殊情況下為TabbedPaneUI
)繪制,並且在某些情況下部分繪制代碼可能無法配置,例如某些顏色或其他選項可能是硬編碼的。 您可以簡單地查看您的應用程序使用的特定 UI 實現的源代碼,找到您想要配置的繪制代碼,並首先查看它是否實際上是可配置的。
如果您的應用程序使用MetalLookAndFeel
- 實現是MetalTabbedPaneUI
。 從我查看它的代碼可以看出 - 它使用來自TabbedPane.highlight
、 TabbedPane.borderHightlightColor
和TabbedPane.darkShadow
UI 默認邊框的顏色。 為TabbedPane.highlight
添加自定義顏色可能會為您解決問題,因為您沒有提到您在問題中修改了那個顏色。
如果沒有 - 我再次建議您將SSCCE與您的操作系統類型/版本一起發布,以防您使用本機外觀。 對於不同的操作系統版本,不同的 JDK 版本之間的本機外觀有所不同,並且通常使用高度自定義的 UI 實現,該實現可能不是可配置的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.