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的一个子类。
答案 0 :(得分:2)
如果您想获得有效/选择的标签,请尝试
int idx = getTabbedPane().getSelectedIndex();
然后,您可以使用
获取标签的组件(例如面板)Componennt c = getTabbedPane().getComponent(idx);