通过面板约束

时间:2013-10-22 15:52:56

标签: java swing jtabbedpane

如何在jtabbedpane选项卡中添加jpanel并传递一些约束。

addTab("name",null,here to pass panel but can't pass constraints, "tooltip");

更详细说明......

在选项卡中添加jpanel时,面板中的内容会延伸到整个框架,因此我决定将框架设置为GridBagLayout,但是添加时间通常需要将面板作为参数之一传递,否则限制允许!我的问题是,如何在选项卡中添加面板以准确告诉框架放置面板的位置时如何添加约束。

1 个答案:

答案 0 :(得分:0)

简短的回答是,你不能,至少不能使用那个版本的addTab方法。使用该特定JTabbedPane方法添加到addTab的任何内容都会在选中相关标签时获得所有可用的屏幕空间。

在我看来,您希望将多个Component放入同一个标签中,或者更改某个组件在该标签中的调整大小行为。如果是这种情况,您应首先使用JPanel方法将要展示的任何组件添加到panel.add(Component component,Object constraints)的实例,然后将该面板添加到JTabbedPane

另一种选择是做这样的事情:

JTabbedPane tabs = ...

int index = ... //whatever index you're currently at
Object constraints = ...//these are your constraints
JPanel panel = ...//this is the panel you want constraints for
panel.setName("name"); //will be used as the title when added to tabs in next line
tabs.add(panel, constraints, index);
tabs.setToolTipTextAt(index, "this is a tooltip for 'panel'");

绝对不像单线那样具有吸引力,但仍然可以完成任务。