概要

JTabbedPaneがタブラップレイアウトの場合、そのタブ・ランの余りを詰めて解消する方法を変更します。

サンプルコード

tabbedPane.setUI(new MetalTabbedPaneUI() {
  @Override protected boolean shouldPadTabRun(int tabPlacement, int run) {
    // BasicTabbedPaneUI: return runCount > 1;
    // MetalTabbedPaneUI: return runCount > 1 && run < runCount - 1;
    return false;
  }
});
View in GitHub: Java, Kotlin

解説

  • default
    • デフォルトのタブ・ラン余り詰め方法はLookAndFeelに依存する
    • MetalLookAndFeelの場合最後のタブラン以外で余り詰めを実行する
    • その他のBasicLookAndFeelを継承するLookAndFeelの場合タブ・ランが複数行になると余り詰めを実行する
  • shouldPadTabRun: false
    • BasicTabbedPaneUI#shouldPadTabRun(...)メソッドをオーバーライドして常に余り詰めを実行しない
  • shouldPadTabRun: true
    • BasicTabbedPaneUI#shouldPadTabRun(...)メソッドをオーバーライドして常に余り詰めを実行する
    • タブ・ランが一行になってもタブ幅に応じて余り詰めが実行される

参考リンク

コメント