2016-08-15 47 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(); 
     } 
    }); 

}