첫 번째 글은 여기에 있지만 오랫동안 독자들이 검색해 왔지만 내 문제를 정확히 해결하는 게시물을 찾을 수 없습니다.JLabels의 2D 배열 위치를 얻으십시오.
mouslisteners를 사용하여 JLabels의 2D 그리드를 만들고 클릭 한 JLabel의 X/Y 위치를 검색하려고하지만 시도 할 방법을 찾을 수 없습니다. 나는이 사이트에서 발견 한 몇 가지 방법을 시도했지만 아무 것도 작동하지 않는다.
현재 나는 다음과 같은 ....
는 pcenter.setLayout(new GridLayout(game.getXSize(), game.getYSize()));
pcenter.setBorder(new EmptyBorder(8,8,8,8));
pcenter.setPreferredSize(new Dimension((game.getXSize() * 30), (game.getYSize() * 30)));
gamegrid = new JLabel[game.getXSize()][game.getYSize()];
for (int i = 0; i < game.getXSize(); i++) {
for (int j = 0; j < game.getYSize(); j++) {
gamegrid[i][j] = new JLabel();
gamegrid[i][j].setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
gamegrid[i][j].addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
}
});
pcenter.add(gamegrid[i][j]);
}
}
'게임은'내가 클릭 한 JLabel의 동일한 좌표를 전달하고자하는 객체의 2 차원 배열을 수용하는 객체입니다 있습니다. GameGrid [2] [5]를 클릭하는 E.G는 game.plots [2] [5]에 연락 할 것입니다.
내가 2와 5를 저장하기 위해 변수를 만들 때마다 FINAL 메서드를 만들고 싶습니다. 그리고 MouseAdapter() 내부에 메서드를 넣으면 'i'또는 'j'FINAL을 만들고 싶습니다.
도움주세요 :) 미리 감사드립니다.