我正在使用OpenJDK11。
我在当前文件夹中有两个Java文件,它们应该一起运行才能成为JavaFX应用程序。
其中之一称为import re
with open("testfile.txt", "r") as text_file:
contents = text_file.read().replace("\n", "")
print(re.match(r'^\/m\/[a-zA-Z0-9_-]+$', contents))
,并运行主窗口。另一个是Main.java
,应该运行一个替代窗口,它是警报类型。
现在,我运行了以下命令:
Alert.java
虽然javac -cp "c:\projects\java\currentProject" --module-path "c:\Program Files\Java\javafx-sdk-11.0.1\lib" --add-modules=javafx.controls,javafx.fxml Alert.java Main.java
编译得很好,但是Alert.java
无法导入Alert类,并在“ import Alert”上给出了错误。我尝试了“导入Alert.Alert”和“导入currentProject.Alert”,但是仍然没有用。
另外,我在每个文件的开头声明了程序包“ package currentProject”,它仍然给出错误。
我应该怎么做才能使其运行?我已经无法在所有可用的IDE上安装JavaFX,因此除了Atom之外,我不会使用其他IDE。但是如何正确编译呢?
更多信息-
文件结构:
c-> projects-> java-> economicManager->(Alert.java,Main.java,financialManager.fxml,alert.fxml,Alert.class,Alert $ Controller.class,Main.class [先前编译的版本] )
Alert.java:
Main.java
Main.java:
package financialManager;
import javafx.stage.Stage;
import javafx.stage.Modality;
import javafx.scene.Scene;
import javafx.scene.Parent;
import javafx.scene.control.Button;
import java.util.Map;
public class Alert {
public Stage stage;
private Controler_Class controler;
public Alert(Parent root) {
Controler_Class clas = new Controler_Class(root);
this.controler = clas;
Scene scene = new Scene(root);
Stage stage = new Stage();
stage.initModality(Modality.APPLICATION_MODAL);
stage.setTitle("financial report");
stage.setScene(scene);
this.stage = stage;
stage.showAndWait();
}
private class Controler_Class{
Parent root;
public Controler_Class(Parent root){
}
}
}
答案 0 :(得分:1)
我看到您错误地导入了 Alert 类。您的软件包是 financialManager ,因此您应该在导入行中使用它,如下所示:
import financialManager.Alert;
关于您的IDE问题,几天前,我使JavaFX与OpenJDK 11上的Eclipse和IntelliJ正常工作,没有任何问题-对于OpenJDK,您需要OpenJFX,如果您对某些阅读感兴趣,{ {3}}是Oracle博客上有关JavaFX计划的链接。
祝你好运!