当我添加“ &&”时,if语句上的无效类型错误

时间:2018-09-01 15:34:30

标签: java typeerror void

我这样写:

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 {}

它工作正常。

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

那是为什么?那我该怎么办?谢谢。

2 个答案:

答案 0 :(得分:0)

任何set方法都不会返回布尔结果。理想情况下,每个setter方法都返回void,如果在Java中使用条件,则不允许在其中键入内容。

答案 1 :(得分:0)

我认为您的代码看起来像这样,并添加了检查:

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


} else {}

问题在于,setDragEnabled()方法可能不会返回布尔类型的对象,因此第二次检查根本不会引起编译器的注意。

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

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