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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

是否有替代方法來(lái)檢查 javafx 應(yīng)用程序中的許多空白字段?

是否有替代方法來(lái)檢查 javafx 應(yīng)用程序中的許多空白字段?

梵蒂岡之花 2023-09-20 17:02:31
我是java(以及一般編程)的新手,并且正在通過(guò)將基本電子表格轉(zhuǎn)換為javafx應(yīng)用程序來(lái)學(xué)習(xí)。為此,我使用:Java & JavaFX 12 FXML & GUI 的 scenebuilder大約有 10 個(gè)輸入字段,并且它們不能為空(應(yīng)用程序崩潰,因?yàn)?getText 似乎在空白字段上失?。N揖帉?xiě)了堆疊的 if 語(yǔ)句來(lái)檢查空白字段,然后打印錯(cuò)誤消息(如果有),并返回以停止進(jìn)程而不會(huì)使應(yīng)用程序崩潰。switch 語(yǔ)句似乎并不比 if 語(yǔ)句好多少。有沒(méi)有一種方法可以用更少的代碼行來(lái)完成它?
查看完整描述

1 回答

?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

您需要以某種方式將一個(gè)字段與一個(gè)字符串關(guān)聯(lián)起來(lái)。這需要您為每個(gè)TextFields 添加一些代碼,無(wú)論是userData在 fxml 中設(shè)置 ,還是將TextField和的組合存儲(chǔ)String在控制器initialize方法中合適的數(shù)據(jù)結(jié)構(gòu)中。


這樣的數(shù)據(jù)結(jié)構(gòu)可以是LinkedHashMap:


private final Map<TextField, String> fieldStrings = new LinkedHashMap<>();


@FXML

private void initialize() {

    fieldStrings.put(desShear, "Design shear");

    fieldStrings.put(boltSize, "Bolt size");

    fieldStrings.put(tensStrengthBolt, "Bolt strength");

    fieldStrings.put(noBolts, "Number of bolts");

    fieldStrings.put(shearPlanes, "Number of shear planes");

    fieldStrings.put(edgeDist, "Edge distance");

    fieldStrings.put(plyThick, "Ply thickness");

    fieldStrings.put(tensStrengthPly, "Ply strength");

    fieldStrings.put(phiBolt, "Bolt phi factor");

    fieldStrings.put(phiPly, "Ply phi factor");

}


private double getFieldValue(TextField field) {

    return Double.parseDouble(field.getText());

}


public void run(ActionEvent clickRun) {


    String errorField = fieldStrings.entrySet().stream()

                                     .filter(entry -> entry.getKey().getText().isBlank())

                                     .map(Map.Entry::getValue)

                                     .findFirst().orElse(null);


    if (errorField != null) {

        outputMsg.setText(errorField + " field is blank");

        return;

    }


    //Get field values

    double desSHEAR = getFieldValue(desShear);

    double boltSIZE = getFieldValue(boltSize);

    double tensStengthBOLT = getFieldValue(tensStrengthBolt);

    double noBOLTS = getFieldValue(noBolts);

    double shearPLANES = getFieldValue(shearPlanes);

    double edgeDIST = getFieldValue(edgeDist);

    double plyTHICK = getFieldValue(plyThick);

    double tensStrengthPLY = getFieldValue(tensStrengthPly);

    double phiBOLT = getFieldValue(phiBolt);

    double phiPLY = getFieldValue(phiPly);



    //Bolt shear calculation



}


查看完整回答
反對(duì) 回復(fù) 2023-09-20
  • 1 回答
  • 0 關(guān)注
  • 108 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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