【发布时间】:2018-11-08 17:24:47
【问题描述】:
所以我正在制作一个具有三个 JTextField 窗口的模块,这些窗口对应于 24 位 RGB 颜色值“R”、“G”和“B”,并带有用于递减/递增的按钮。该模块应该采用这些值并显示颜色。我这样做了,它有效,但我需要确保有关输入的一些细节,但我不知道如何去做。这些细节是:
- 如果您输入的值不在 0 和 255 之间,它将被视为 0
- 如果您在值为 0 时单击递减按钮,它不会将其降至 -1
- 如果您在值为 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(); }
我的按钮什么都没有,因为我完全不知道该怎么做
【问题讨论】:
-
到目前为止你尝试过什么?你觉得有什么困难?你到底在哪儿呢?请展示您的努力和到目前为止的代码
-
我试图用 if 语句来做,但它不起作用。一般来说,我不知道如何解决它以及从哪里开始?我不是在寻找解决方案,只是我可以用来使其工作的指导。剩下的我自己解决
-
然后向我们展示您的尝试。但是,请尽量靠近minimal reproducible example。仔细阅读它是什么并应用该逻辑以使您的示例易于帮助
-
@zueyl 为什么不使用 JSpinner,因为您想要一个带有向上/向下按钮的数字输入字段?无需使用 JTextField 即可解决此问题。
-
我用最初无效的代码编辑了我的帖子
标签: java swing jtextfield