【问题标题】:JTextFields looping in JFrameJTextFields 在 JFrame 中循环
【发布时间】:2015-11-25 15:26:36
【问题描述】:

   我有一个包含一些文本字段的简单 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());    
} 

【问题讨论】:

  • 1) 为了尽快获得更好的帮助,请发帖 minimal reproducible exampleShort, Self Contained, Correct Example。 2) “我有一个包含一些文本字段的简单 JForm” 你有问题吗?另请注意,它们不是 JForm 类,请停止像您的 IDE 那样说话,并为 J2SE 类使用正确的名称。
  • 好的,我会记住这一点,当我发帖的时候。我想我发现了我的错误。我的评估方法没有做它应该做的事情。

标签: java swing loops arraylist jtextfield


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2013-04-18
    • 2016-02-28
    • 1970-01-01
    相关资源
    最近更新 更多