2012-12-28 2 views
1

기존 스윙 앱을 JavaFX로 변환 중입니다. 나는이 코드가 "#paneRightBottom"이라는 노드를 반환 할 것이라고 생각하지만 null을 반환합니다. netbeans 디버거를 사용하여 "topNode"를 드릴 다운하여 "#paneRightBottom"노드를 6 단계 깊이 찾을 수 있으므로 여기에 있습니다. 나는 온라인 문서를 읽고 노드를 가져야한다고 생각한다. 누구든지 내가 잘못한 생각을 갖고 있습니까?javafx scene.lookup

 Node topNode = FXMLLoader.load(AFI.class.getResource("afimain.fxml")); 
     System.out.println(topNode.getId()); 
     Node node = topNode.lookup("#paneRightBottom"); 

답변

3

확인 당신이 조회하려는 노드가, id="paneRightBottom"하지 fx:id="paneRightBottom"이있는 경우. 그렇다면 fxml 파일을 게시하여 자세한 정보를 제공하십시오.

+0

감사합니다. @Uluk, 저는 이미 다른 ID 형식을 설명하기 위해 xml을 마크 업했습니다. 나는 아직도 그것을보고있다. 그러나 나는 창유리가 어린이가 아니라 오히려 항목으로 간주하지 않는 분할 창과 관련이 있다고 믿는다. 이것은 트래버스 방법을 조금 덜 우아하게 만들며, instanceof를 사용하여 분할 창을 확인하는 데는 아무 문제가없는 것처럼 보입니다. 분할 창을 문제로 생각하지 않았기 때문에 –

+0

@ BobSmith. 아직 보지 않았다면 [JavaFX 2.0 + FXML - 이상한 검색 동작] (http://stackoverflow.com/q/12324799/682495)을 참조하십시오. 나는 그 대답이 당신의 유스 케이스에도 적용될 수 있다고 생각한다. –