0

正如我在之前的一篇文章中提到的,我正在将我的程序移植到 Java,以使其可供 Mac OS 和 Linux 用户使用。

在程序开始时,我想使用以下代码检查 adb 是否安装到系统中:

private void checkADBExists()
// Checks if adb binaries exist and sets jTogglebutton1 correspondingly...
{
    File adb = new File("/usr/bin/adb");
    if (!adb.exists())
    {
        jToggleButton1.isSelected();
    } else {
        jToggleButton1.isSelected()= false;
    }
}

这是我的问题:如果文件不存在,则不会选择 JToggleButton,即使它应该是,并且我在取消选择它时收到错误消息。

任何帮助深表感谢。

在此先感谢,节拍

4

2 回答 2

3

Swing 的许多核心组件都遵循简单的 getter/setter 模式。

也就是说,您可以“获取”一个属性值并“设置”一个属性值(注意,并非所有的 getter 都有相应的 setter)。

boolean属性的情况下,约定是使用“is”而不是“get”,它只是更好地从舌头上滚下来。

因此,就您而言,您所做的只是获得selected财产的价值,而不是真正想要做的事情。

而是使用jToggleButton1.setSelected(true)jToggleButton1.setSelected(false)根据您的需要

您可能想查看如何使用按钮、复选框和单选按钮了解更多详细信息

于 2013-10-25T21:25:54.803 回答
1

JToggleButton().isSelected()返回一个value不是变量。通过 JToggleButton().isSelected() = false,您正在尝试将值分配给值,这没有意义,就像编写语句一样2 = 2;。用于JToggleButton.setSelected(true)将切换按钮设置为选中和JToggleButton.setSelected(false)取消选中。

于 2013-10-25T21:26:01.733 回答