2016-08-15 12 views
2

Grundsätzlich ist das Problem, ich habe eine Schnittstelle mit Java Scene Builder erstellt. Und von der FXML-Taste wollte ich meine Klasse öffnen.Meine Schaltfläche kann meine Klasse nicht öffnen

Und meine Main kann offen sein, aber meine SerialChart kann nicht geöffnet werden. Es heißt "Der Konstruktor SerialChart() ist undefiniert". Also hier ist das Problem, das ich denke

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

Ich denke, das ist das Problem, warum ich nicht öffnen kann. Bitte hilf mir ... Ich kann dir den ganzen Code zeigen, wenn du brauchst.

+0

Um 'neue SerialChart aufzurufen heraus()' Sie haben einen Konstruktor haben definiert, die keine Argumente annimmt. Sie haben den Code für 'SerialChart' nicht angezeigt, daher ist es für niemanden möglich, Ihnen zu helfen. Wenn der von Ihnen angezeigte Konstruktor der einzige definierte ist, wird der Fehler erklärt. –

+0

@JimGarrison Können Sie mir helfen? Wie kontaktiere ich dich? meine aufrichtige –

+0

Wenn keine der Lösungen für Sie funktioniert und es wahrscheinlich ist, dass dies einige Zeit zu lösen braucht, warum verwenden Sie es nicht, um ein vereinfachtes Beispiel für den Fehler zu erstellen? – Aziuth

Antwort

0

Wie Jim Garrisson sagte, benötigt Ihr Konstruktor, den Sie aufrufen, keine Argumente, aber Ihr definierter tut dies (String title). Das bedeutet, dass Sie ein String-Argument übergeben müssen (auch ein leeres wie "" wird funktionieren), wenn Sie es in der Button-Funktion aufrufen.

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

nein, es kann nicht starten, nachdem ein Fehler aufgetreten ist –

+0

Sorry, welcher Fehler ist aufgetreten? – Matt

+0

Drucktaste Fehler zu öffnen –

0

so ist dies die Antwort, die ich SO GLÜCKLICH

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(); 
     } 
    }); 

} 
Verwandte Themen