Не удается найти решение для MissingResourceException даже с другим путем - PullRequest
0 голосов
/ 16 декабря 2018

Я знаю, что этот вопрос был здесь как 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")));

я уже пытался дать разные имена для "новой локали (" en ")", например я помещал в "maintenanceProgram.en" или "maintenanceProgram / en" даже"maintenanceProgram.strings_en.properties" не работает.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();
    }

}
...