• category: swing folder: PadTabRun title: JTabbedPaneがタブラップレイアウトの場合そのタブランの余りを詰めて解消する tags: [JTabbedPane, LookAndFeel] author: aterai pubdate: 2019-09-23T19:36:37+09:00 description: JTabbedPaneがタブラップレイアウトの場合、そのタブ・ランの余りを詰めて解消する方法を変更します。 image: https://drive.google.com/uc?id=16w9tOv2cQhjbkk-yBea87POsQDqMNPUs

概要

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(...)メソッドをオーバーライドして常に余り詰めを実行する
    • タブ・ランが一行になってもタブ幅に応じて余り詰めが実行される

参考リンク

コメント