有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jTextfield数组之间的java操作

我想检查startSN和endSN之间的SN数是否等于numSN,但我想忽略空JTextField的java.lang.NumberFormatException: For input string: ""

private javax.swing.JTextField StartSN0,StartSN1,StartSN2,EndSN0,EndSN1,EndSN2,num0,num1,num2;
private javax.swing.JCheckBox jCheckBox0,jCheckBox1,jCheckBox2;

JTextField sTF[] = new JTextField[]{StartSN0,StartSN1,StartSN2};    
JTextField eTF[] = new JTextField[]{EndSN0,EndSN1,EndSN2};

long startSN[] = {Long.parseLong(StartSN0.getText()),Long.parseLong(StartSN1.getText()),Long.parseLong(StartSN2.getText())};
long endSN[] = {Long.parseLong(EndSN0.getText()),Long.parseLong(EndSN1.getText()),Long.parseLong(EndSN2.getText())};
long numSN[] = {Long.parseLong(num0.getText()),Long.parseLong(num1.getText()),Long.parseLong(num2.getText())};  
JCheckBox [] cbox = new JCheckBox[]{jCheckBox0,jCheckBox1,jCheckBox2};

for (int i = 0;i<=3;i++){
    long matching = endSN[i] - startSN[i] + 1;
    if (sTF[i] != null && eTF[i] != null ){
        if (sTF[i].getText().trim().length() != 12 || eTF[i].getText().trim().length() != 12)
            JOptionPane.showMessageDialog(null, "Please enter valid SN");
        else if (matching == numSN[i])
            cbox[i].setSelected(true);
        else
            cbox[i].setSelected(false);
    }
}


共 (0) 个答案