3
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() 正在返回正确的索引,但如果我将它传入,它仍然说该组件为空。

PS SpritePane 只是 JPanel 的一个子类。

4

1 回答 1

2

If you want to get the active/selected tab try

int idx = getTabbedPane().getSelectedIndex();

You can then get the component of the tab (e.g. a panel) with

Componennt c = getTabbedPane().getComponent(idx);
于 2012-09-14T21:43:18.253 回答