У меня есть класс CrunchifyGetPropertyValue для получения параметров из образца config.properties, как показано ниже:
...
public int getParamAnswersValue() throws IOException{
try{
Properties prop = new Properties();
String propFileName = "config.properties";
inputStream = this.getClass().getResourceAsStream("/res/config.properties");
if(inputStream != null){
prop.load(inputStream);
} else {
throw new FileNotFoundException("property file '" + propFileName + "' not found in the classpath");
}
value = Integer.parseInt(prop.getProperty("paramAnswers"));
System.out.println(value);
} catch (Exception e){
System.out.println("Exception: " + e);
} finally {
inputStream.close();
}
return value;
}
...
И есть файл OptionsController.java с задачей для чтения / обновления образца config.properties, как показано ниже:
...
CrunchifyGetPropertyValue properties = new CrunchifyGetPropertyValue();
@Override
public void initialize(URL location, ResourceBundle resources) {
try{
slider.setValue(properties.getParamAnswersValue());
field.setText(Integer.toString(properties.getParamAnswersValue()));
field.textProperty().bind(slider.valueProperty().asString("%.0f"));
...
} catch (IOException ex) {
Logger.getLogger(OptionsController.class.getName()).log(Level.SEVERE, null, ex);}
И проблема в том, что этот класс параметров может успешно сохранить обновление в config.file, но после этого сохранения, когда я снова открываю этот класс в том же запуске, слайд.value и field.text действительно показывают первую инициализациюЗначения на экране, когда config.properties меняются в файле, который мы можем наблюдать.Пример:
>Run App
>>Open optionPanel //run OptionsController.java
>>>//OptionsController loaded our config.properties data (2:3:4)
>>>We change values from 2:3:4 to 3:3:3
>>>click saveButton
//now we can see by openning config.properties that actually there are 3:3:3 values
>>>optionPanel window is closing
>>Open optionPanel //we open window again in same run
>>>//OptionsController loaded values 2:3:4 instead of 3:3:3
>Close app
>Run app
>>Open optionPanel //run OptionsController.java
>>>//OptionsController loaded our config.properties data (3:3:3)
....
Почему не меняется при одном запуске?Немного пробовал, но ничего не помогло, есть идеи, почему он не читает данные из .properties в движении при запуске одного и того же приложения?