2015-05-13 33 views
0

http://puu.sh/hLNH1/74b40dff89.png異常在線程「主」了java.lang.RuntimeException:不可編譯的源代碼 - 錯誤的符號類型:javax.swing.JFrame.setContentPaneel

我曾嘗試使用Google這個問題好幾個小時一直要求各地在Skype上我還沒有找到解決方案。所以我認爲是時候向專業開發人員詢問發生了什麼。

好了,所以我得到了以下錯誤:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: javax.swing.JFrame.setContentPaneel at Vb0301.main(Vb0301.java:11)

我剛開始學習Java爲我的學習和在Puush鏈接提供的科迪是從書上直接複製。

我知道它是與:

frame.setContentPaneel(new Paneel()); 

所以我試圖從切換它:

frame.setContentPane(new Paneel()); 

但在這一點上,我得到了新的錯誤鏈接:http://puu.sh/hLNVU/c760502ca9.png

它開始惹惱了我,在第一次安裝IDE時,最近幾天錯誤發生後錯誤...

我希望有人能夠幫助我一直在這裏尋找,但沒有找到具體的問題。我希望很快得到答覆,提前致謝。

納奧米,

+0

但是,這是如此奇怪,因爲在書中,我從他們使用** Paneel **而不是**面板**所以我將其更改爲面板,但仍然存在錯誤:http: //puu.sh/hLQd7/e27bfeff7b.png – Naomi

回答

1

您使用了錯誤的類名。 Paneel不存在,應改爲Panel

此外,您調用的方法稱爲setContentPane()。有關更多信息,請參閱the reference

編輯:正如你在這個答案的評論中看到的,問題出在Panel類(但不是如上所述)。 Panel必須擴展JPanel以允許將其添加到框架。

+0

在OP中,「Paneel」確實存在,但它是一個「JFrame」。 – Kishore

+0

但是這太奇怪了,因爲在我從他們使用** Paneel **而不是** Panel **中學習的書中,所以我將其更改爲Panel,但仍存在錯誤:http://puu.sh/hLQd7 /e27bfeff7b.png – Naomi

+0

我看到你的類'Panel'擴展了'JFrame'。請嘗試擴展'JPanel'。 – Hexaholic

0

這是因爲它不允許添加一個JFrame與setContentPane(),它需要一個容器像它會檢查在這裏:

/** 
* Checks that the component is not a Window instance. 
*/ 
private void checkNotAWindow(Component comp){ 
    if (comp instanceof Window) { 
     throw new IllegalArgumentException("adding a window to a container"); 
    } 
} 
1

它應該是frame.setContentPane(new Paneel()) - 更多關於JFrame

這裏Paneel應該是一個容器,如JPanel。更多關於JPanel - JPanel

相關問題