0
我已經在我的用戶界面中放置了一個進度條和指示器,並試圖更新整個正在執行的代碼段的不同階段的進度,但它只是保持空白,然後在代碼塊已設置爲100已完成。JavaFX中的進度條
任何人都知道爲什麼這不是更新階段我的舞臺?
private void onSearchButtonClicked(ActionEvent event) throws InstantiationException, IllegalAccessException {
//progressBar.setVisible(true);
//progressIndicator.setVisible(true);
progressBar.setProgress(1);
progressIndicator.setProgress(1);
//mainWindow.getChildren().addAll(pb, pi);
try {
wordOne = NNSE.searchForWords(wordOneText.getText());
progressBar.setProgress(10);
progressIndicator.setProgress(10);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
wordTwo = NNSE.searchForWords(wordTwoText.getText());
progressBar.setProgress(30);
progressIndicator.setProgress(30);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
distance = wordNetMeasures.searchForWord(wordOneText.getText(), wordTwoText.getText());
linDisance = wordNetMeasures.linMethod(wordOneText.getText(), wordTwoText.getText());
leskDistance = wordNetMeasures.leskMethod(wordOneText.getText(), wordTwoText.getText());
euclideanDistance = NNSE.calculateDistance(wordOne, wordTwo);
progressBar.setProgress(50);
progressIndicator.setProgress(50);
//System.out.println("distance = " + euclideanDistance);
wordNetPercentage = wordNetMeasures.calculatePercentageForWordNetPair(distance);
wordNetPercentageLin = wordNetMeasures.calculatePercentageForWordNetPair(linDisance);
wordNetPercentageLesk = wordNetMeasures.calculatePercentageForWordNetPair(leskDistance);
ProjectProperties.getInstance().setWordOneText(wordOneText.getText());
ProjectProperties.getInstance().setWordTwoText(wordTwoText.getText());
//System.out.println("word net percentage" + wordNetPercentage);
nnsePercentage = NNSE.calculateSimilarityPercentageForNNSEPair(euclideanDistance);
//setting properties for these results
//ProjectProperties properties = new ProjectProperties();
String wordNetDistance = String.valueOf(df.format(distance));
ProjectProperties.getInstance().setPathWordNetText(wordNetDistance);
ProjectProperties.getInstance().setLinWordNetText((String.valueOf(df.format(linDisance))));
ProjectProperties.getInstance().setLeskWordNetText((String.valueOf(df.format(leskDistance))));
progressBar.setProgress(70);
progressIndicator.setProgress(70);
NNSEAccuraryLin = NNSE.calculateNNSEAccuracy(linDisance, euclideanDistance);
NNSEAccuracyLesk = NNSE.calculateNNSEAccuracy(leskDistance, euclideanDistance);
NNSEAccuracy = NNSE.calculateNNSEAccuracy(distance, euclideanDistance);
ProjectProperties.getInstance().setPathNNSEText((String.valueOf(df.format(euclideanDistance))));
ProjectProperties.getInstance().setLinNNSEText((String.valueOf(df.format(euclideanDistance))));
ProjectProperties.getInstance().setLeskNNSEText((String.valueOf(df.format(euclideanDistance))));
ProjectProperties.getInstance().setPathNNSEAccuracyText((String.valueOf(pf.format(NNSEAccuracy))));
ProjectProperties.getInstance().setLinNNSEAccuracyText((String.valueOf(pf.format(NNSEAccuraryLin))));
ProjectProperties.getInstance().setLeskNNSEAccuracyText((String.valueOf(pf.format(NNSEAccuracyLesk))));
progressBar.setProgress(80);
progressIndicator.setProgress(80);
Database databaseConnection = new Database();
try {
databaseConnection.getConnection();
databaseConnection.addWordNetToDatabase(NNSEAccuracy, ProjectProperties.getInstance().getWordOneText() + " ," + ProjectProperties.getInstance().getWordTwoText(), distance);
databaseConnection.addNNSEToDatabase(NNSEAccuracy, ProjectProperties.getInstance().getWordOneText() + " ," + ProjectProperties.getInstance().getWordTwoText(), euclideanDistance);
} catch (SQLException ex) {
Logger.getLogger(PairSearchPageController.class.getName()).log(Level.SEVERE, null, ex);
}
progressBar.setProgress(100);
progressIndicator.setProgress(100);