第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在 TextField 中乘以 2 位數(shù)字 - Java FX

在 TextField 中乘以 2 位數(shù)字 - Java FX

泛舟湖上清波郎朗 2022-01-12 16:13:35
我正在為我的應(yīng)用程序中的一個錯誤而苦苦掙扎??傮w思路是將基本價格乘以滑塊參數(shù),例如,如果滑塊設(shè)置為 2,則價格 = 2 * 價格問題是如果我再次切換滑塊,數(shù)學(xué)運(yùn)算就會累積。例如,當(dāng)我將滑塊切換到 2,然后切換到 3,然后切換到 4,我的結(jié)果是價格 * 2 * 3 * 4,但我的期望是記住價格 * 4。我該如何解決?daysSlider.valueProperty().addListener(new ChangeListener() {@Override    public void changed(ObservableValue arg0, Object arg1, Object arg2) {      int i = Integer.parseInt(priceTextField.getText());        priceTextField.textProperty().setValue(                String.valueOf((int) daysSlider.getValue()* i ));    }});
查看完整描述

1 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個贊

因此,您遇到的問題是從文本字段中獲取字符串并對其進(jìn)行數(shù)學(xué)運(yùn)算。


解決此問題的方法是通過執(zhí)行以下操作將字符串解析為整數(shù):


int baseCost = Integer.parseInt(textField.getValue());

這將為您提供整數(shù)形式的基本成本,然后您可以使用類似的方法將其乘以滑塊中的數(shù)字?,F(xiàn)在,您可以priceTextField通過執(zhí)行以下操作來設(shè)置值:


//totalCost is an integer value calculated by multiplying the base cost and the slider's value.

priceTextField.textProperty().setValue(Integer.toString(totalCost));

我希望這有幫助!


對于您的新問題,這就是它發(fā)生的原因:


您遇到問題的原因是每次更改滑塊中的值時,您都設(shè)置priceTextField為daySlidertimes i。然后,下次發(fā)生更改時,您設(shè)置i的值等于priceTextField. 這就是為什么它要進(jìn)行多次乘法運(yùn)算。


如果我沒記錯的話,您嘗試做的是將 TextField 值乘以 Slider 值并將其顯示在另一個 TextField 中。因此,您可以做的就是int i = Integer.parseInt(textField.getValue())獲得基本成本的價值。然后,您可以將其乘以該daysSlider值并執(zhí)行priceTextField.textProperty().setValue(

                    Integer.toString(i * sliderValue);


要解決您的新問題:


ArrayList<Integer> baseCost = new ArrayList<>();


priceTextField.valueProperty().addListener(new ChangeListener(){

    @Override

    public void changed(ObservableValue arg0, Object arg1, Object arg2) {

        baseCost.add(Integer.parseInt(priceTextField.getText()));

    }

}

daysSlider.valueProperty().addListener(new ChangeListener() {


    @Override

    public void changed(ObservableValue arg0, Object arg1, Object arg2) {

        priceTextField.textProperty().setValue(

                String.valueOf((int) daysSlider.getValue() * baseCost.get(0) ));

    }


});

回答您的第三個問題(可以在聊天中找到):


這是您制作可運(yùn)行文件的方式:


daysSlider.valueProperty().addListener(new ChangeListener() {

    @Override

    public void changed(ObservableValue arg0, Object arg1, Object arg2) {

        Runnable r = new Runnable() {

            @Override

            public void run() {

              priceTextField.textProperty().setValue(

              String.valueOf((int) daysSlider.getValue() * baseCost.get(0) ));

            }

        };


        Handler handler = new Handler();

        //Run the runnable after 3000 milliseconds or 3 seconds.

        handler.postDelayed(runnable, 3000);


    }


});


查看完整回答
反對 回復(fù) 2022-01-12
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號