如何确保JTextField输入符合要求?

时间:2018-11-08 17:24:47

标签: java swing jtextfield

因此,我正在制作一个模块,该模块具有三个JTextField窗口,分别对应24位RGB颜色值“ R”,“ G”和“ B”,并带有用于递增/递减的按钮。该模块应该采用这些值并显示颜色。我做到了,而且可行,但是我需要确保有关输入的一些详细信息,但我不知道该怎么做。这些详细信息是:

  1. 如果您输入的值介于0和255之间,则将其视为0
  2. 如果您在数值为0时单击一个减量按钮,则不会将其降至-1
  3. 如果在值为255时单击增量按钮,则不会增加到256。我不知道该怎么做。我试图用谷歌搜索,但是 我找不到我需要的东西。我希望您能提供一些指导

编辑: 我试图在ActionPerformed方法中添加一些if语句,但是它所要做的就是在运行模块并尝试将值超出范围时返回一堆错误

EDIT2:例如,我有这个,但它不起作用:

@Override
public void actionPerformed(ActionEvent e) {
    String r,g,b;

    if (e.getSource() == tf1) {
        r = tf1.getText();
        this.r =Integer.parseInt(r);
        if (this.r < 0 && this.r > 255)
            this.r =0;
        color(); }

我的按钮一无所有,因为我完全不知道该怎么做

1 个答案:

答案 0 :(得分:0)

听起来您可能需要从输入源进行一些数据验证。我们看不到您的代码,但是一种验证方法是为变量生成getter / setter。 (取决于您使用的编辑器,这些可以很快生成)。在值设置器中-您应该能够进行一些数据验证。

如果您发布一些代码,则可能会得到更有意义的反馈。

有关Java中的getter和setter的更多信息:https://www.codejava.net/coding/java-getter-and-setter-tutorial-from-basics-to-best-practices

编辑: 现在您已经发布了代码。将&&更改为||那应该解决您的问题。

最好使用getter / setter进行数据验证。