2014-12-22 3 views
0

프로그래밍 방식으로 JFrame 안에 로그인 한 JPanel 로그인이 있습니다. 문제는 단추를 사용하여 JPanel 클래스의 로그인에서 JFrame에있는 함수를 호출하려고합니다. 그런 다음JPanel 클래스의 JFrame에서 함수 호출

public class PartLogin extends JPanel { 

    MainFrame mainFrame; 

, 나는 JFrame에서 공용 함수를 만든 다음

을 클릭 버튼을 통해 PartLogin에서 전화 :

여기

, 나는이 MainFramePartLoginJPanel 클래스 mainFrame로 선언 한

mainFrame.changeLabel(); 

버튼 클릭 코드 내부를 가리키는 NullPointerException이 있습니다.

mainFrame.changeLabel(); 

답변

2

NullPointerException는 일반적으로 필요한 객체가 null가 아닌가 null 수 있다고 말한다. 여기 아마도 mainFrame 일 것입니다. 자바는 C++ 아니므로 문 같다 : mainFrame가 null되지 않도록 본을 변경해야합니다

MainFrame mainFrame = null; 

. 두 가지 방법이 있습니다

  1. 할당 값은 선언 :

    MainFrame mainFrame = new MainFrame(); 
    
  2. 할당 값은 생성자에서 :

    private MainFrame mainFrame; // don't must be private 
    
    public PartLogin() 
    { 
        super(); // call ctor of superclass 
        mainFrame = new MainFrame(); 
        // ... 
    } 
    
+0

와우 그 일을! 내가 C++에서 온 것이 너무 분명한가? Btw, 당신이 나를 구해 주셨습니다 : D –

+0

@PrincetonMielJurilla 답변이 제대로 작동하면 답변을 승인 된 것으로 표시하십시오. 그리고 C++은 자동으로 포인터가 아닌 변수를 할당합니다. 이것은 종종 제가 섞어 놓은 것입니다.) – msrd0

+0

미안하지만 이것은 제 첫 질문이었습니다. –

관련 문제