2013-05-01 79 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

相關問題