나는 조각을 추가하려고하는 간단한 체스 판을 가지고 있습니다. 더 많은 사각형을 추가하지 않고 아이콘 이미지를 변경하고 싶습니다. 어떻게해야합니까?Java 그리드에서 ImageIcon 변경하기
그 사각형에있는 이미지를 덮어 쓰고 싶지만, 지금 내가 가지고있는 것은 더 많은 사각형을 추가하는 것 같습니다.
체스 스퀘어 클래스는 조각 유형과 x/y 좌표를 취합니다. 아래
코드 :
체스 보드 :
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ChessBoard2
{
public static void main(String[] Args)
{
JFrame a = new JFrame("Chess");
JPanel panel = new JPanel();
ChessSquare[][] squares = new ChessSquare[8][8];
panel.setLayout(new GridLayout(8,8));
int x = 0;
int y = 0;
for (x=0; x<8; x++)
for(y=0; y<8; y++)
{
squares[x][y] = new ChessSquare("emptysquare", x, y);
panel.add(squares[x][y]);
}
x=5;y=8;
squares[x][y] = new ChessSquare("king", x, y);
a.setSize(375,375);
a.setContentPane(panel);
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setVisible(true);
}
}
체스 광장 :
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ChessSquare extends JButton
{
private int xPosition;
private int yPosition;
private String filename;
public ChessSquare(String type, int x, int y)
{
super();
xPosition = x;
yPosition = y;
if (type == "emptysquare")
{ filename = "EmptySquare.jpg";}
if (type == "king")
{ filename = "king.jpg";}
ImageIcon square = new ImageIcon(filename);
setIcon(square);
}
}
감사합니다.