如何改变标签窗格的位置

时间:2014-04-17 12:55:29

标签: java jtabbedpane

我知道当我创建一个标签窗格的实例时,我设置了这样的位置:

 jtp = new JTabbedPane(SwingConstants.LEFT)

我的问题是,是否可以将位置设置为如上所示,但是将起始位置向下移动一点?我不希望第一个标签出现在左侧的顶部。我想留下一些空白的空间。那可能吗?感谢。

2 个答案:

答案 0 :(得分:1)

您可以将组件打包到 javax.swing.Box 添加移位:

jtp.add("Component shifted vertically", shiftVertical(your_component, 5)); // 5 px or more

public static Box shiftVertical(JComponent component, int size){
    Box vBox = Box.createVerticalBox();
    vBox.add(Box.createVerticalStrut(size)); 
    vBox.add(component);

    return vBox;
}

答案 1 :(得分:0)

我设法找到解决此问题的方法。我通过创建一个“虚拟”图标来实现这一点,该图标基本上是一个与选项卡窗格的背景颜色相同颜色的正方形。然后,我将此图标设置为“虚拟”选项卡式窗格的图标,并禁用选项卡:

jtp.addTab("", dummyIcon, null);
jtp.setEnabledAt(0, false);

通过调整图标大小,我可以使第一个选项卡式窗格占用尽可能多的空间,因为窗格不必具有相同的大小。这样第一个标签不可点击,它的颜色与面板的背景颜色相似,所以看起来好像空格是空的。