2017-11-22 20 views
0

FXML 포함 파일의 컨텍스트에서 중첩 FXML 컨트롤러에 관한 몇 가지 게시물을 읽었습니다. 그러나 내 문제는 여러 클래스 정의 된 하나의 FXML 파일이 있다는 것입니다.FXML 어떻게 하나의 FXML 파일에 중첩 된 컨트롤러가 있습니까?

간단하게 말해서. 아래 예제에서 makeMe()를 실행하는 것과 동일한 하나의 FXML 파일로 어떻게 할 수 있습니까?

public class ClassA{ 
    // something 
} 

public class ClassB{ 
    public ClassA myAClass; 
} 

public void makeMe{ 
    ClassB myBClass; 
    myBClass = new ClassB(); 
    myBClass.myAClass = new CLassA(); 
} 
+0

당신이 종료 할 것을 정말 명확하지 않다에게이이

public class Header extends Block { private Block chartWindow; private Block measurement; public Block getChartWindow() { return chartWindow; } public void setChartWindow(Block block) { this.chartWindow = block; } public Block getMeasurement() { return measurement; } public void setMeasurement(Block block) { this.measurement = block; } } 

과 같아야합니다 FXML 파일을로드했을 때 (FXML은 하나뿐입니다.) 아마도 https://docs.oracle.com/javase/9/docs/api/javafx/fxml/doc-files/introduction_to_fxml.html#custom_components –

+0

안녕하세요 제임스 D.를 사용하여이 문제를 재구성해야합니다. 용어, 어떻게 하나의 FXML 파일을 사용하여 동일한 작업을 할 수 있습니까? ReflectTest.header = new Header(); ReflectTest.header.chartWindow = 새 블록();'. 어쩌면 내가 그런 식으로 말하면 문제가 더 명확해질 수 있습니다. –

답변

0

만약 그렇다면 사용해보십시오. 이 상황에서

<Header fx:id="header" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller"> 
    <chartWindow> 
     <Block count="4" type="Short" /> 
    </chartWindow> 
    <measurement> 
     <Block count="6" type="Short" /> 
    </measurement> 
</Header> 

, Header 그래서 컨트롤러에 당신은 단지 Header 예를

public class Controller { 
    @FXML 
    private Header header; 
}