我知道这个问题在这里大约有20次。.我现在已经搜索了几个小时,但是不知何故没有解决方案。
我目前正在编程双语程序,并且有2个属性文件“ strings_de.properties”和“ strings_en.properties” 我只是将所有类移入名为“ maintenanceProgram”的程序包中,现在我无法再启动程序,并且出现以下错误:
Caused by: java.util.MissingResourceException: Can't find bundle for base name strings, locale en
我从中得到此问题的代码是:
Parent xmlLayout = FXMLLoader.load(getClass().getResource("mainLayout.fxml"),
ResourceBundle.getBundle("strings", new Locale("en")));
我已经尝试给“ new Locale(” en“)”赋予不同的名称,例如,即使“ maintenanceProgram.strings_en.properties”不起作用,我也输入了“ maintenanceProgram.en”或“ maintenanceProgram / en”。其他帖子的Solutins不适用于我的任何一个。我在这个错误上已经花了几个小时了,希望有人能够向我证明这是一个简单的错误。 我将类从“默认”包移到“ maintenanceProgram”后出现了问题
完整代码:
package maintenanceProgram;
import java.util.Locale;
import java.util.ResourceBundle;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Rectangle2D;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Screen;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Parent xmlLayout = FXMLLoader.load(getClass().getResource("mainLayout.fxml"),
ResourceBundle.getBundle("strings", new Locale("en")));
Scene scene = new Scene(xmlLayout, 300, 275);
scene.getStylesheets().add(getClass().getResource("mainStyle.css").toExternalForm());
Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds();
primaryStage.setX(primaryScreenBounds.getMinX());
primaryStage.setY(primaryScreenBounds.getMinY());
primaryStage.setWidth(primaryScreenBounds.getWidth());
primaryStage.setHeight(primaryScreenBounds.getHeight());
primaryStage.setScene(scene);
primaryStage.show();
}
}