2012-12-28 75 views
2

我正在使用java我。我創建了兩個可視化設計,First.java和Second.java,它們都包含可顯示的表單。從另一個視覺設計切換到視覺設計

我在First.Java中的窗體中添加了一個Ok命令,並且用戶希望切換到Second.java中的SecondForm,但是我得到這個錯誤non-static method getSecondForm() cannot be referenced from a static context

我該如何解決這個問題?

這兩個文件都在同一個包中。這裏的源代碼

public void commandAction (Command command, Displayable displayable) { 

    if (displayable == firstForm) { 

     if (command == exitCommand) { 
      exitMIDlet(); 

     } else if (command == okCommand) { 

      switchDisplayable(null, Second.getSecondForm()); 
     } 
    } 
} 
+0

顯示您遇到問題的代碼片段。如果沒有這個,很難發現哪裏出了問題 – gnat

+0

我剛剛做到了。我試圖發佈它,系統報告了一些代碼格式錯誤 – degee

回答

0

您需要Second.java改變方法getSecondForm的聲明,使之靜。

如果它目前看起來像

Displayable getSecondForm() //... whatever code is there 

然後更改後它應該看起來像

static Displayable getSecondForm() //... whatever code is there 

注意上述變化將解決你所提到的non-static method getSecondForm...錯誤,但有一個機會,這將導致新文件Second.java中的編譯錯誤。您需要修正這些新錯誤,很可能是通過在這裏和那裏添加幾個關鍵字static,類似於上面的顯示。


注意這是語言基本的東西;如果你遇到困難,可以考慮休息一下,爲初學者學習一些教程。

+1

我很欣賞。我會試試看看它是如何發展的。再次感謝 – degee