JTabbedPane - addTab(标题,图标,组件)+ setTabComponentAt(索引,组件)

时间:2012-07-13 19:02:17

标签: java swing

根据这个example更加详细this one我只是面对一件奇怪的事情......

如果我将方法用作addTab(title,icon,component),接下来想要添加setTabComponent(count-1,aComponent)的其他组件,则 aComponent 替换 图标?我的意思是在这种情况下标签不包含图标:(

效果类似(见图)。但是如何在这样的标签上添加图标?

enter image description here

我不太确定,但我想某种方式 aComponent 取代图标 ......所以我的问题是...... 如何在一个标签上同时拥有三个图标标题 aComponent

2 个答案:

答案 0 :(得分:2)

正如setTabComponentAt的javadoc中明确提到的那样,您在选项卡中设置的组件将替换图标和标题

  

非空值表示组件将呈现标题,JTabbedPane将不呈现标题和/或图标。

因此,如果您想在标签上添加标题,图标和组件,则必须创建自己的Container包含这3个项目,并使用setTabComponentAt方法设置该容器。< / p>

答案 1 :(得分:1)

我认为您打算使用setComponentAt代替setTabComponent

你看,setTabComponent设置了一个负责渲染标签的组件(我猜这不是你想要的)。 setComponentAt在指定的标签中设置组件(我猜这是你要找的东西)。

总之,要添加具有标题和图标的选项卡,并在选项卡正文中包含组件,请使用: addTab(title, icon, component)

要将组件更新(或添加)到现有选项卡,请使用: setComponentAt(index, component)

要将图标更新(或添加)到现有标签,请使用: setIconAt(index, icon)

要将标题更新(或添加)到现有标签,请使用: setTitleAt(index, title)