2
Java 응용 프로그램의 모든 구성 요소에 대한 포커스를 추적하고 싶습니다. 대부분의 구성 요소에서 작동하는 메서드를 등록했지만 탭을 변경하는 데는 작동하지 않습니다. 코드는 다음과 같습니다.포커스 문제 추적 (JTabbedPane)
FocusManager.getCurrentManager().addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
System.out.println(evt.getPropertyName() + " " + evt.getNewValue());
}
}
JTabbedPane에서 탭을 변경하면 메시지가 인쇄되지 않습니다. 이것은 JTabbedPane 포커스가 변경되지 않았기 때문이라고 생각됩니다. 다른 탭을 클릭하면 부모 JTabbedPane에 속할 수 있습니다.
해결 방법이 있습니까? 또는 변경된 탭에서도 작동하는 Java의 포커스 변경을 추적하는 저장 방법을 아는 사람이 있습니까?
건배, 최대
나는 모든 구성 요소에 대해보다 일반적인 것을 찾고있었습니다. – Max
탭은 구성 요소가 아니므로 들어야하는 포커스가 변경되지 않습니다. JTable의 각 셀과 같은 것은 컴포넌트가 아닙니다. 이 구성 요소는 Action을 사용하여 구성 요소를 탐색합니다. – camickr