代码之家  ›  专栏  ›  技术社区  ›  brian_d

JTabbedPane缩进

  •  2
  • brian_d  · 技术社区  · 15 年前

    使用JTabbedPane时,如何缩进选项卡?

    摆动默认输出:

    -------  ---------  ------
    |  A  |  |   B   |  |  C |
    ------------------------------
    |                            |
    |                            | 
    |                            |
    |                            |
    |                            |
    

    所需缩进输出:

       -------  ---------  ------
       |  A  |  |   B   |  |  C |
    ------------------------------
    |                            |
    |                            | 
    |                            |
    |                            |
    |                            |
    

    这似乎很简单,但我一直没有找到解决办法。 谢谢。

    2 回复  |  直到 15 年前
        1
  •  1
  •   camickr    15 年前

    对于所有选项卡式窗格,您可以使用以下默认LAF:

    UIManager.put("TabbedPane.tabAreaInsets", new Insets(2, 20, 0, 6) );
    

    另请参见: UIManager Defaults

    对于单个选项卡式窗格,可能需要重写BasicTabbedPaneUI类的“getTabAreaInsets()”方法来返回上面的Inset。

        2
  •  0
  •   Etaoin    15 年前

    如果用一个简单的JTabbedPane无法做到这一点,您可以使用以下(稍微不雅观的)解决方案:

    创建自己的组件,包括JTabbedPane和JPanel。此时将显示JTabbedPane 选项卡;就其而言,每个选项卡都是空的。JPanel(使用CardLayout)负责实际显示每个选项卡。向JTabbedPane添加一个ChangeListener,并使用它在CardLayout的卡之间切换。

    然后,您所要做的就是在您自己的组件中布局JTabbedPane和JPanel,您可以随心所欲地执行这些操作。这样你就可以把标签推到右边。

    推荐文章