添加“&&”时 if 语句出现无效类型错误

Void type error on if statement when I add "&&"

我这样写:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
    Float result = 100f;

    if (jCheckBox1.isSelected() == true) {
    Float one = Float.valueOf(jTextField1.getText());
    result = result / one;


} else {}

而且效果很好。

但是当我在 if 语句中添加“&& jTextField1.setDragEnabled(true)”时,出现“void”类型错误。

这是为什么?我能做什么?谢谢

任何 set 方法都不会 returns 布尔结果。理想情况下,每个 setter 方法 returns void,不允许在 java.

中输入 if 条件

我假设您的代码看起来像这样,添加了检查:

if (jCheckBox1.isSelected() == true && jTextField1.setDragEnabled(true) == true) {
    Float one = Float.valueOf(jTextField1.getText());
    result = result / one;


} else {}

问题是,setDragEnabled() 方法可能不是 return 布尔类型的对象,因此第二次检查对编译器没有意义。

因此,可能的解决方案可能是

  1. 调整支票(根据您的情况需要任何逻辑)。
  2. 调整 setDragEnabled() 方法,使其 return 成为布尔值(即 true。在 情况下,当文本字段可以成功设置为可拖动时,否则为 false)