我知道這個問題有很多帖子,我讀了很多,但我無法解決我的問題。
我會盡量以最好的方式提出問題,這樣不會太麻煩。非靜態方法問題
那麼,我有兩個JPanels,我想要得到一個在應用程序中顯示的JPanel(JCatalog),以從另一個JPanel(JPanelTicket)對其進行修改。
現在,當我調用JCatalog的getComponent方法時,它顯示non-static method can't be referenced from a static context
。
我會盡我所知,我搜索了很多,但我不知道如何解決這個問題。
這是我的源代碼:
JCatalog的:
package newpackage;
import java.awt.Component;
public class JCatalog extends javax.swing.JPanel {
public JCatalog() {
initComponents();
}
public Component getComponent() {
return this;
}
JPanelTicket:
package javaapplication5;
import javax.swing.JPanel;
import newpackage.JCatalog;
public abstract class JPanelTicket extends JPanel {
JCatalog jcat;
public JPanelTicket() {
initComponents();
}
public void init(){
jcat = (JCatalog) JCatalog.getComponent(); //Here's the problem
}
什麼你想做嗎? getComponent是一種非靜態方法。所以你需要一個對象來調用它。 'jcat =(JCatalog)JCatalog.getComponent();'是錯誤的。你需要一個JCatalog對象。 – zsxwing
*「我讀過很多」*真的嗎?鏈接到最接近您的查詢的5個,並以他們未能回答的方式解釋它們。 –
[crossposted](http://www.coderanch.com/t/615326/java/java/Calling-method- JPanel) – mKorbel