2012-09-14 3 views
3
getTabbedPane().addTab("Ground", pnlGround); 

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

getTabbedPane().getSelectedComponent()가 null을 돌려줍니다. JTabbedPane 옆에있는 JPanel을 선택한 후에 바로 호출됩니다. 그 이유는 메서드가 null 구성 요소를 반환하는 이유를 생각해 낼 수있는 유일한 이유입니다. 탭이 열려 있지만 포커스가 없기 때문입니다.JTabbedPane 선택된 컴퍼넌트는 항상 null입니다.

그러나 JTabbedPane에서 열린 탭을 가져 오는 방법을 찾고 있습니다.

또한 getTabbedPane().getComponentAt(i)은 항상 null을 반환합니다. 탭이 6 개 있습니다.

getSelectedIndex()는 올바른 인덱스를 반환, 아직 아직도 내가 그 인치

P.S.을 전달하면 구성 요소가 null 말한다 SpritePane은 JPanel의 하위 클래스입니다.

+0

과 탭의 구성 요소 (예 : 패널)를 얻을 수있는 시도를 원한다면 문제, 가능성이 무언가가 다른 곳에서 잘못되었습니다 – kleopatra

답변

2

당신은 활성/선택된 탭이를 보여주는 SSCCE을 제시해주십시오

int idx = getTabbedPane().getSelectedIndex(); 

당신은 다음

Componennt c = getTabbedPane().getComponent(idx); 
+0

나는 그것을 통과 시키려고했지만 여전히 null을 반환합니다. – user1672512

+0

Gilberto 님의 의견이 보이지 않습니다. +1 – km1

+0

getSelectedIndex가 null을 반환합니까? – km1

관련 문제