2013-01-10 5 views
0

mac os를 실행중인 프로젝트 회원과 FXML로드에 문제가 있습니다. Java 코드 내에서 전체 JavaFX 로딩 프로세스에 상당히 익숙하지 만, 이것은 현재 내 코드가 어떻게 설정되어 있는지를 보여줍니다. 이 클래스는 ControlPanel.java라고하고, fxml은 controlPanel.fxml이며, onAction # 메소드를 포함하고 있으며, ControlPanel.java를이 메소드의 컨트롤러로 사용하고 있습니다. Windows 운영 체제에서는 완벽하게 작동하지만 Eclipse를 실행하려고하면 열리지 만 아무 것도 표시하지 않습니다. 내가 뭐 잘못하고 있는지 궁금해. 내가 anchorPane FX입니다 최상위 수준에 문서 내 컨트롤러를 정의 : 컨트롤러 = "project.fx.ControlPanel" 당신의 ControlPanel의 제 2의 인스턴스를 생성하는 모든Mac OS에서 JavaFX FXML이 올바르게로드되지 않습니다.

public static void main(String[] args) { 
    Application.launch(ControlPanel.class, (java.lang.String[])null); 
} 

@Override 
public void start(Stage primaryStage) { 
    try { 

     Parent page = (Parent) FXMLLoader.load(getClass().getResource("controlPanel.fxml"), null, new JavaFXBuilderFactory()); 

     Scene scene = new Scene(page); 
     primaryStage.initStyle(StageStyle.TRANSPARENT); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } catch (Exception ex) { 
     Logger.getLogger(ControlPanel.class.getName()).log(Level.SEVERE, null, ex); 
    } 

} 

@FXML 
protected void doSomething() { 
    System.out.println("Done something"); 
} 

답변

1

먼저 (1 Application.launch()를 통해 만든 ist). 따라서 컨트롤러 인스턴스를 설정하거나 다른 클래스를 컨트롤로 사용해야합니다.

왜 Mac에서 작동하지 않는 이유는 말할 필요가 있습니다.