JTabbedPane中具有相等(恒定)宽度的选项卡

Ole*_*Ole 1 java swing jtabbedpane

我试图获得JTabbedPane所有标签(实际标签,而不是组件)具有相同宽度(最宽标签所需的最小宽度或恒定宽度)的位置.

我试图覆盖BasicTabbedPaneUI.getTabBounds(int tabIndex, Rectangle dest),但显然这个方法没有被绘制方法使用BasicTabbedPaneUI,而是使用rects数组来确定标签大小.

我的下一个方法是覆盖JTabbedPane.insertTab(String title, Icon icon, Component component, String tip, int index)和设置标签组件的首选大小,但这似乎并不优雅,我甚至不确定它是否会起作用.

有没有办法实现这个目标?

Aru*_*r S 5

答案很简单.当我们为选项卡添加名称时,只需使用html格式化名称.说

tp - JTabbedPane对象

tp.addTab("<html><body><table width='150'>Name</table></body></html>",Componentobject)
Run Code Online (Sandbox Code Playgroud)