gpt4 book ai didi

java - JFrame 中的 JTextFields 循环

转载 作者:行者123 更新时间:2023-12-02 04:24:51 24 4
gpt4 key购买 nike

   我有一个简单的 JForm,其中有一些文本字段。问题是,我的 evaluate() 方法没有按我的预期循环遍历文本字段。我得到的只是执行的 getText() 的第一个文本字段。我被困在这了。帮助会很棒。这是代码。这里还有该程序的屏幕截图:https://www.dropbox.com/s/w5ie4dfnc9wi216/Capture.JPG?dl=0

public MAppGest() {
initComponents();
}

public double a=2.6;
public double index0;
public Iterator itr;

public void getText(String ind, String inde){
evaluate();
index0=Double.parseDouble(txtNewIndex.getText())-Double.parseDouble(txtOldIndex.getText());
txtTotalIndex.setText(Double.toString(index0));
txtRoom1.setText(Double.toString(index0));
txtTotal1.setText(Double.toString((index0*a)));
}

public void evaluate(){
if(Boolean.valueOf(txtNewIndex.getText())&&Boolean.valueOf(txtOldIndex.getText())==true){
getArray();
}
else if(Boolean.valueOf(txtNewIndex2.getText())&&Boolean.valueOf(txtOldIndex2.getText())==true){
getArray();
}
else if(Boolean.valueOf(txtNewIndex3.getText())&&Boolean.valueOf(txtOldIndex3.getText())==true){
getArray();
}
else if(Boolean.valueOf(txtOldIndex4.getText())&&Boolean.valueOf(txOldIndex4.getText())==true){
getArray();
}
else if(Boolean.valueOf(txtNewIndex5.getText())&&Boolean.valueOf(txtOldIndex5.getTex())==true){
getArray();
}
else{
JOptionPane.showMessageDialog(MAppGest.this,"An error occured");
}
}

public void getArray() {
ArrayList<String> al=new ArrayList<>();
al.add(txtNewIndex.getText());
al.add(txtOldIndex.getText());
al.add(txtNewIndex2.getText());
al.add(txtOldIndex2.getText());
al.add(txtNewIndex3.getText());
al.add(txtOldIndex3.getText());
al.add(txtOldIndex4.getText());
al.add(txOldIndex4.getText());
al.add(txtNewIndex5.getText());
al.add(txtOldIndex5.getText());

for (int i = 0; i< al.size(); i++) {
String fields []=null;
fields[i] = al.get(i);
}
}


private void btnGrandTotalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getText(txtNewIndex.getText(),txtOldIndex.getText());
getText(txtNewIndex2.getText(),txtOldIndex2.getText());
getText(txtNewIndex3.getText(),txtOldIndex3.getText());
getText(txtOldIndex4.getText(),txOldIndex4.getText());
getText(txtNewIndex5.getText(),txtOldIndex5.getText());
}

最佳答案

如果您的问题是 evaluate() 仅完成第一个 if 语句,那是因为您在以下情况下使用了 if-else 语句:你只想使用if。如果您使用 if-else,一旦第一个 if 被验证为 true,它将跳过其余部分。如果我的答案不是您想要的,那么我建议您ask a better question 。就像评论所说的那样,给出 SSCCE,这样回答者就不会猜测。

附注:Boolean.valueOf() 返回一个 boolean 值,因此您的 ==true 是不必要的。

关于java - JFrame 中的 JTextFields 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32313880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com