概要

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 all

解説

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

参考リンク

コメント