2016-08-15 46 views
2

基本上,問題是我使用Java Scene Builder創建了一個接口。從FXML按鈕我想打開我的班級。我的按鈕無法打開我的課程

@FXML 
    public void pressButton(ActionEvent event) throws Exception { 
    Platform.runLater(() -> { 
     try{ 
      new SerialChart().start(new Stage()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    }); 

    } 

    @FXML 
    public void pressButton2(ActionEvent event) throws Exception {      
    Platform.runLater(() -> { 
     try { 
      new Main().start(new Stage()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    }); 
    } 

而且我的Main可以打開,但我的SerialChart無法打開。它說「構造函數SerialChart()是未定義的」。所以這裏是我認爲的問題

public SerialChart(String title) { 
    super(title); 

我認爲這是爲什麼我無法打開的問題。請幫助我...如果需要,我可以向您展示整個代碼。

+0

爲了調用'新SerialChart答案()'你必須有定義的構造函數沒有參數。你還沒有顯示'SerialChart'的代碼,所以任何人都不可能幫你。如果您顯示的構造函數是唯一定義的構造函數,則說明錯誤。 –

+0

@JimGarrison你能幫我嗎?如何與你聯繫?我真誠的 –

+0

如果沒有一種解決方案適用於您,並且很可能需要一些時間來解決,那麼爲什麼不使用它來創建錯誤的簡單示例? – Aziuth

回答

0

就像Jim Garrisson所說,你調用的構造函數不帶任何參數,但是你定義的構造函數不會(String title)。這意味着當你在Button函數中調用它時,你需要傳入一個String參數(即使是一個空格,例如「」)。

new SerialChart("Some Title").start(new Stage()); //should be your call in the Button function. 
+0

不,它不能,這樣做後,開始成爲一個錯誤 –

+0

對不起,發生了什麼錯誤? – Matt

+0

按鈕錯誤打開 –

0

所以這是我想通了,太高興了

public void pressButton(ActionEvent event) throws Exception { 
    Platform.runLater(() -> { 
     try{ 
      SerialChart serialChartDemo = new SerialChart("Clean Energy Data Real time graph"); 
      serialChartDemo.pack(); 
      RefineryUtilities.centerFrameOnScreen(serialChartDemo); 
      serialChartDemo.setVisible(true); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    }); 

}