2013-05-01 38 views
-1

单击该按钮应该在将文本字段设置为可编辑或不可编辑之间切换。当GUI打开时,文本框应该是可编辑的。setEditable使用ActionListener

public void actionPerformed(ActionEvent evt) 
{ 
    if(inputField.setEditable() == (true)) 
    { 
     inputField.setEditable(false); 
    } 
    else 
    { 
     inputField.setEditable(true); 
     resultMessage.setText(""); 
     resultMessage.setText("Edit Button Pressed"); 
    } 

我在做什么错在这里?

我知道else语句是正确的,只是IF的开始是错误的,我不知道我错在哪里。


其他问题:

public void actionPerformed(ActionEvent evt) 
{ 
    if(inputField.isEditable() == (true)) 
    { 
     inputField.setEditable(false); 
    } 
    else 
    { 
     inputField.setEditable(true); 
     inputField.setText(""); 
     resultMessage.setText("Edit Button Pressed"); 
    } 

    if(inputField.getBackground() == Color.RED) 
    { 
     inputField.setBackground(Color.WHITE); 
    } 
    else 
    { 
     inputField.setBackground(Color.RED); 
     resultMessage.setText("Colour Button Pressed"); 
    } 

} 

我现在目前有2个国际单项体育联合会,但很明显,第一IF将停止第二IF从工作我如何解决这个问题,这样,当我按下一个按钮,将做setEditable部分,当我按下另一个按钮,它会做我的改变颜色?

+1

*在不希望我会说你没有阅读JavaDocs – MadProgrammer 2013-05-01 01:39:23

+0

请不要删除你的原始问题或代码,因为如果你这样做,我们的答案变得无关紧要,问题和答案对未来的编程人员没有帮助类似的问题。我已回复您的问题并添加了其他信息。这实际上应该是一个新的计算器问题,因为它与原来的完全不同。 – 2013-05-01 01:55:04

+0

@MadProgrammer JavaDocs是如此令人困惑,我只是不能让我的脑袋围绕他们的大多数,如果我诚实地对待你,我发现评论侮辱,我清楚地看到他们只是我还在挣扎,因此在这里要求帮助。 – 2013-05-01 02:00:26

回答

3

您正在检查setEditable()是否属实,确实没有意义;毕竟,它返回void并且需要一个布尔参数。更大的问题是,你不应该检查通过“二传手”字段的编辑状态,而是一个“吸气”场,在这里isEditable()

if (inputField.isEditable()) { 
    //.... 
} else { 
    //... 
} 

由于MadProgrammer指出,这些信息都在Java API中一应俱全,你很想得到非常熟悉


编辑,有关新的问题:

我现在目前有2个国际单项体育联合会,但很明显,第一IF将停止第二IF从工作我如何解决此得到这样当我按下一个按钮,将做setEditable部分,当我按下另一个按钮,它会做我的改变颜色?

不,第一个if/else将对第二个if/else块产生无效。你的问题在别处。如果仍然吮吸,请考虑以附加信息的方式询问此问题是否为stackoverflow上的新问题。

另外请注意,这是不必要的罗嗦:

if(inputField.isEditable() == (true)) 

,并更好地写,因为我有它上面:“我是什么做错了*”

if (inputField.isEditable()) 
+0

太棒了工作,也只是另一个快速问题,我如何设置我的代码,以便在actionPerformed部分我有超过1如果语句,因为我有3个按钮在我的GUI第一个IF覆盖第二个。 – 2013-05-01 01:47:21

+0

@KeithBurton:请澄清并展示你最好的尝试来解决这个问题,作为你原来的问题的补充。 – 2013-05-01 01:47:56

+0

@KeithBurton:代码在评论中是不可读的,所以请再次发布您的最佳尝试***作为您原始问题的补充。***再次请添加更多解释来澄清您的问题。 – 2013-05-01 01:50:19

相关问题