JTabbedPane Selected Component始终为null

时间:2012-09-14 21:37:49

标签: java swing bufferedimage jtabbedpane

getTabbedPane().addTab("Ground", pnlGround);

public BufferedImage getSelectedImage() { 
    return ((SpritePane) getTabbedPane().getSelectedComponent()).getSelectedImage();
}

getTabbedPane().getSelectedComponent()返回null。在我选择JTabbedPane旁边的JPanel之后直接调用它,这是我能想出为什么该方法将返回null组件的唯一原因;因为标签已打开但没有焦点。

然而,我要找到一种方法来获取JTabbedPane中打开的标签。

此外,getTabbedPane().getComponentAt(i)始终返回null。共有6个标签。

getSelectedIndex()返回正确的索引,但如果我将其传入,它仍然表示该组件为空。

P.S。 SpritePane只是JPanel的一个子类。

1 个答案:

答案 0 :(得分:2)

如果您想获得有效/选择的标签,请尝试

int idx = getTabbedPane().getSelectedIndex();

然后,您可以使用

获取标签的组件(例如面板)
Componennt c = getTabbedPane().getComponent(idx);