이 문제의 게시물이 많다는 것을 알고 있습니다. 많은 내용을 읽었지만 해결할 수 없습니다.
나는 가능한 한 최선의 방법으로 질문을 시도하므로 너무 많은 문제는 발생하지 않습니다.비 정적 메서드 문제
글쎄, 나는 두 개의 JPanel을 가지고 있는데, 하나의 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는 비 static 메소드입니다. 따라서 객체를 호출해야합니다. 'jcat = (JCatalog) JCatalog.getComponent();'가 잘못되었습니다. JCatalog 객체가 필요합니다. – zsxwing
* "많이 읽었습니다"* 정말요? 귀하의 질의에 가장 근접한 5 개의 페이지에 링크하여 그들이 대답하지 못한 방법을 설명하십시오 .. –
[crossposted] (http://www.coderanch.com/t/615326/java/java/Calling-method- JPanel) – mKorbel