亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 javafx 并發任務將 Label 屬性綁定到 Image 屬性<Void>

使用 javafx 并發任務將 Label 屬性綁定到 Image 屬性<Void>

慕的地8271018 2022-08-03 12:58:55
我正在嘗試使用任務指令在每1秒更新一次JavaFX GUI。我有圖標、、等等。我正在使用 while 循環增量 。我想在每1秒后顯示這些圖標。我不知道如何更新圖像。我正在使用方法。我不知道如何在這里使用綁定屬性。我可能大錯特錯了。請幫幫我。1.png2.png3.pngi++label.setGraphic()@Overridepublic void start() {  ...  image = new Image(getClass().getResourceAsStream("images/1.png"));  imv=new ImageView(image);  label1 = new Label();  label1.setGraphic(imv);  monitor(); //A SEPARATE METHOD CONTAINING TASK CODE  ...  new Thread(task1).start();}...public void monitor() {  task1=new Task<Void>() {    @Override    protected Void call() {      int i=1;      while(true) {        try {          Thread.sleep(1000);          updateMessage(""+i+".png");          System.out.println("i: "+i);        }        catch(Exception e) {        }        i++;        }     }  };  label1.textProperty().bind(task1.messageProperty());  ...}
查看完整描述

1 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

錯誤是您無法將 a 綁定到 .ReadOnlyStringPropertyObjectProperty<Image>


您應該將更改偵聽器 (docs) 添加到任務消息屬性 (docs) 并創建一個圖像,然后將其應用于圖像視圖:


public void monitor() {

    task1 = new Task<Void>() {

        @Override

        protected Void call() {

            System.out.println("run called");

            int i = 1;

            while (true) {

                try {

                    Thread.sleep(1000);

                    updateMessage(i + ".png");

                    System.out.println("i: " + i);

                } catch (Exception e) {


                }

                i++;

            }

        }

    };

    task1.messageProperty().addListener((observable, oldValue, newValue) -> {

        System.out.println(newValue);

        Image image = new Image(getClass().getResourceAsStream("images/" + newValue));

        imv.setImage(image);

    });

}

編輯:


由給定代碼段中的 Lambda 表達式表示。有關詳細信息,請閱讀提供的文檔。ChangeListener


查看完整回答
反對 回復 2022-08-03
  • 1 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號