java - 循环 jtextfields,以便清除是否输入了除整数之外的任何内容

标签 java loops jtextfield

我知道我需要循环这段代码,但我不知道该怎么做,就像我不知道循环应该有什么?它会立即清除所有文本字段,但我只希望清除除整数以外的任何内容的文本字段。任何帮助将不胜感激。

try {
    int a = Integer.parseInt(theApp.tred.getText());
    int b = Integer.parseInt(theApp.tgreen.getText()); // uses
                                                        // information
                                                        // entered
    int c = Integer.parseInt(theApp.tblue.getText());

    if (a < 0) {
        a = 200; // if statements for values above and below the targets
                            // set
        tred.setText("200");
    }

    if (a > 255) {
        a = 255;
        tred.setText("255");
    }
    if (b < 0) {
        b = 200;
        tgreen.setText("200");
    }

    if (b > 255) {
        b = 255;
        tgreen.setText("255");
    }

    if (c < 0) {
        c = 200;
        tblue.setText("200");
    }
    if (c > 255) {
        c = 255;
        tblue.setText("255");
    }
    message.setText(" work submitted by:"); // text
    message.setForeground(new Color(a, b, c)); // changes colour to
                                                        // desired input

} catch (NumberFormatException ex) {

    message.setText("invalid input! please enter numbers only"); // text
    message.setForeground(new Color(0, 0, 0)); // original text set to
                                                // red
    tred.setText("");
    tgreen.setText("");
    tblue.setText(""); // clears box if not an integer
}

最佳答案

您可以将 try-catch block 分成 3 部分:

int a = -1;
try {
    a = Integer.parseInt(theApp.tred.getText());
    if (a < 0) {
        a = 200; 
        tred.setText("200");
    }
    if (a > 255) {
        a = 255;
        tred.setText("255");
    }
    //do the needed things here
} catch (Exception e) {
    message.setText("invalid input! please enter numbers only"); // text
    message.setForeground(new Color(0, 0, 0)); 
    tred.setText("");
}

(这仅适用于tred,其他的几乎相同)。

关于java - 循环 jtextfields,以便清除是否输入了除整数之外的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40442325/

相关文章:

java - 安全的 Java Web 服务

java - 如何获取字符串的 int 索引?

python - 读取文件python中的前一行

java - 如何在 JPanel 中创建矩形 block ?

java - 如何在 JTextField 中获取插入符位置(以像素为单位)?

java - 单击某些 JComponent 时如何剪切/复制/粘贴文本到 JTextField?

JSP中的JAVA字符串错误

java - 如何在gwt客户端设置文件上传限制?

java - 在不使用任何循环或条件的情况下打印特定范围内的数字 (Java)

javascript - while 循环必须是无限的才会崩溃吗?