2013-10-11 2 views
0

2D 배열에 저장되는 JLabel의 그리드를 만드는 데 관련된 숫자 게임을 만들려고합니다.JLabel의 2D 배열에 저장된 JLabel 수퍼 클래스의 메서드에 액세스하는 방법

JLabel 자체는 난수를 표시하는 JLabel을 만드는 NumberPanel 클래스의 객체를 만들어 설정합니다.

2 차원 배열을 통해 개체를 만드는 주 클래스에서 부울 값을 true 또는 false로 설정하려면 NumberPanel 클래스의 메서드 인 "isClicked"에 액세스 할 수 있어야합니다.

나는 누군가가 나에게 내가하고자 손을 줄 수 있다면 크게이 시도 그것을 :)

**NumberPanel Class:** 

public class NumberPanel extends JLabel { 

    private boolean isClicked; 

    NumberPanel() { 
     //Constructor code 
    } 

    public void clicked(boolean b) { //Need to access this method 
     isClicked = b; 
    } 
} 

**Original class containing NumberPanel objects** 

public class NumberGameGui extends JPanel { 

    private JLabel[][] numberGrid; 

private void gridPopulator() { 

    for (int i = 0; i < 12; i++) 
     for (int j = 0; j < 9; j++) { 
      numberGrid[i][j] = new NumberPanel(); 
      add (numberGrid[i][j]); 
      numberGrid[i][j].addMouseListener (new PanelListener()); 
     } 

    **NumberGrid[1][1].isClicked(true);** //Want to access isClicked method 
} 

답변

0

을 주셔서 감사합니다, 내 코드 아래에 붙여 넣은 :

((NumberPanel)numberGrid[1][1]).isClicked(true); 

을 또는의 정적 클래스로 NumberPanel를 사용 배열 :

private NumberPanel[][] numberGrid; 
+0

고맙습니다. 문제가 해결되었습니다. – Unl1ght

관련 문제