标签文本不更改javafx中的操作

时间:2015-03-08 13:05:27

标签: javafx label

我正在创建一个应用程序,其中有一个菜单栏,可以选择磁盘检查但是当执行操作时,我需要更改Label" lbldiskchecking"中的文本。但标签中的文字没有改变,但我的其他代码工作正常。

     private void goToDiskCheck(ActionEvent event) throws IOException, InterruptedException {
    lbldiskchecking.setVisible(true);
    lbldiskchecking.setText("chal ja");
    FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/finalproject/view/DiskCheck.fxml")); 
 AnchorPane cmdPane = (AnchorPane) fxmlLoader.load();
 Runtime run = Runtime.getRuntime(); 
 Process p = null;  
    String cmd = "E:\\work\\programming\\NetBeansProjects\\FinalProject\\src\\batchfiles\\dskchk.bat";  
    try {  
        p = run.exec(cmd);  
        p.getErrorStream();   
        int exitVal = p.waitFor();
         System.out.println("RUN.COMPLETED.SUCCESSFULLY"); 
    }  
    catch (IOException e) {  
        e.printStackTrace();  
        System.out.println("ERROR.RUNNING.CMD");  
        p.destroy();  
    }  
    try {
        borderPane.setCenter(cmdPane);
    } catch (Exception e) {
        e.printStackTrace();
    }


}

标签在我的FXML文件中定义

 <center>
  <Label fx:id="lbldiskchecking" text="Checking Disk ...." visible="false" BorderPane.alignment="CENTER">
     <font>
        <Font name="AR BERKLEY" size="27.0" />
     </font>
  </Label>

1 个答案:

答案 0 :(得分:0)

这是一个猜测,因为您没有发布足够的代码来重现问题。

看起来您的标签位于边框窗格的中心。在操作处理程序中,您加载新的FXML文件并将文件的内容放在边框窗格的中心。这将替换标签,因此它不再是场景图的一部分。您需要将标签放在场景的不同部分。