2016-07-27 20 views
1

の背景色を変更する問題:は、不透明なパネルを設定するというUIManagerのデフォルトを変更すること、およびその他のいくつかのランダムなもの:はは、タブ付きパネル

が試したタブ付きパネルやタブの背景色のコンテンツ領域の周りにエッジを変更することはできません。

enter image description here

コード:https://gist.github.com/DarkGuardsman/b86c542cc168d1c792a01a4d44dba229

注:私はインターフェイスの変更で既存のプロジェクトを更新していますように私は、このコードのすべてを書いていません。だから、コーディングスタイルではなく、ソリューションへの発言を続けてください。

+0

利用tabbedPane.setBackgroundAt()。詳細については、これを参照してください。 http://stackoverflow.com/questions/8752037/how-to-change-background-color-of-jtabbedpane ...これはあなたを助けるかもしれません。 –

+0

もしあなたがソースを見れば、私はすでにそれを試していますが、私はリンクを見ていきます:) ty – DarkGuardsman

答えて

0

私はそれが最良の解決策ではないと確信していますが、解決策を見つけました。私はもともと転記する前にこれを目指していました。 UIコードを読み取った後、コンテンツパネルの周囲に境界線を描くことがわかりました。ほとんどの国境を克服するpaintTabBackgroundメソッドをオーバーライドすると、この問題が解決されました。

private class TabUI extends BasicTabbedPaneUI 
{ 
    @Override 
    protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) { 
     g.setColor(LauncherFrame.secondaryColor); 
     switch(tabPlacement) { 
      case LEFT: 
       g.fillRect(x+1, y+1, w-1, h-3); 
       break; 
      case RIGHT: 
       g.fillRect(x, y+1, w-2, h-3); 
       break; 
      case BOTTOM: 
       g.fillRect(x+1, y, w-3, h-1); 
       break; 
      case TOP: 
      default: 
       g.fillRect(x+1, y+1, w-3, h-1); 
     } 
    } 
} 

enter image description here

関連する問題