2015-04-13 13 views
5

Tôi có các lớp khác có tên Test trong các gói khác và một lớp có cùng tên trong gói mặc định.Eclipse không muốn chạy ứng dụng JavaFX đơn giản

Khi tôi nhấp vào nút Run trong Eclipse, thay vì chạy lớp này, nó chạy một class Test từ bên trong một gói khác thay vì:

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

Làm thế nào tôi có thể sửa lỗi này?

+1

thể được liên quan đến cấu hình khởi chạy của bạn. Bạn có thể xác minh rằng bạn không thử khởi chạy lớp Test từ một gói khác? –

+0

Khi tôi di con trỏ qua nút Chạy, một chú giải công cụ xuất hiện cho biết 'Chạy Kiểm tra (1)'. Tôi đã kiểm tra cấu hình chạy, và Test (1) thực sự trỏ đến một lớp khác. Một lớp có tên là Test in package test. Điều đó có cùng mã bên trong ... – Paulus

Trả lời

5

Thêm một phương pháp main cho phép Eclipse nhận chương trình như ứng dụng Runnable

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

Lưu ý rằng đây thực sự là một vấn đề của Eclipse: như của Java 8, JVM có thể khởi động từ một lớp con 'Application' ngay cả khi nó không có phương thức' main (...) '. Tuy nhiên, Eclipse không nhận ra điều này. –

+0

Thật ngạc nhiên, điều này đã khắc phục được sự cố. Tôi ngạc nhiên vì tôi có một lớp khác với cùng mã bên trong, trong một gói khác - và không có phương thức chính - và Eclipse đã khởi chạy nó chỉ là tốt. Bất kỳ ý tưởng tại sao? – Paulus

+1

Bạn có chắc chắn không? hoặc là nó là một lớp 'Test' cũ có thể chạy được trong classpath của bạn. Hãy thử làm sạch dự án để xác minh ... – Reimeus

Các vấn đề liên quan