2015-04-13 4 views
5

Ich habe andere Klassen namens Test in anderen Paketen und eine Klasse mit demselben Namen im Standardpaket. Eclipse möchte keine einfache JavaFX-Anwendung ausführen

Wenn ich auf die Schaltfläche Ausführen in Eclipse klicken, anstatt diese Klasse von läuft, läuft es eine andere Test-Klasse von in einem anderen Paket statt:

package jfx; 

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.shape.Circle; 
import javafx.stage.Stage; 

public class Test extends Application { 
    public void start(Stage stage) { 
     Circle circ = new Circle(40, 40, 30); 
     Group root = new Group(circ); 
     Scene scene = new Scene(root, 400, 300); 

     stage.setTitle("My JavaFX Application"); 
     stage.setScene(scene); 
     stage.show(); 
    } 
} 

Wie kann ich dieses Problem beheben?

+1

auf Ihre Startkonfiguration verwandt sein könnte. Können Sie überprüfen, dass Sie nicht versuchen, die Klasse Test von einem anderen Paket aus zu starten? –

+0

Wenn ich den Mauszeiger über die Schaltfläche "Ausführen" halte, wird eine QuickInfo mit dem Text "Test ausführen (1)" angezeigt. Ich habe die Laufkonfiguration überprüft, und Test (1) zeigt tatsächlich auf eine andere Klasse. Eine Klasse namens Test im Pakettest. Das hat den gleichen Code innerhalb ... – Paulus

Antwort

5

hinzufügen main Methode Eclipse zu erlauben, das Programm als ausführbare Anwendung erkennen

public static void main(String[] args) { 
    Application.launch(args); 
} 
+2

Beachten Sie, dass dies wirklich ein Eclipse-Problem ist: Ab JAVA 8 kann die JVM von einer 'Application'-Unterklasse starten, auch wenn sie keine' main (...) '-Methode hat. Eclipse erkennt dies jedoch nicht. –

+0

Zu meiner Überraschung hat dies das Problem behoben. Ich bin überrascht, weil ich eine andere Klasse mit dem gleichen Code darin hatte, in einem anderen Paket - und keine Hauptmethode - und Eclipse startete es einfach gut. Irgendeine Idee warum? – Paulus

+1

Sind Sie sicher? oder ist es eine alte runnable Test-Klasse in Ihrem Klassenpfad. Versuchen Sie, das Projekt zu bereinigen, um es zu verifizieren ... – Reimeus

Verwandte Themen