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