안녕하세요 모두 GUI로 Java로 바둑판을 그려하고 있습니다. 나는 게임 보드의 사각형을위한 사각형 클래스를 만들었습니다.gridlayout을 사용하여 패널에 항목 배치
광장 클래스 :
import javax.swing.*;
import java.awt.*;
public class Square extends JPanel {
private int width = 80;
private int height = 80;
private int x,y;
private Color color;
public Square(int x, int y, Color color) {
this.x = x;
this.y = y;
this.color = color;
}
public void paint(Graphics graphics){
//setSize(new Dimension(width,height));
graphics.setColor(color);
graphics.drawRect(x,y, width,height);
graphics.fillRect(x,y,width,height);
}
}
는 기본적으로 나는 그런 다음 사각형 객체를 그리드 레이아웃 패널을 추가 (8) (8)에 의해 그리드 레이아웃 패널을 창조하고 싶었다. 첫 번째 행에는 빨간색, 검은 색, 빨간색, 검은 색, 빨간색, 검은 색, 빨간색, 검은 색 사각형이 있고 두 번째 행에는 검은 색, 빨간색, 검은 색, 빨간색, 검은 색, 빨간색, 검은 색, 빨간색 사각형이 포함되어 있어야합니다. 나는이 프로그램을 실행하면
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setPreferredSize(new Dimension(600,600));
JPanel panel = new JPanel(new GridLayout(8,8));
panel.setLayout(new GridLayout(8, 8));
panel.setBackground(Color.green);
Square redsqr1 = new Square(0,0, Color.RED);
Square blksqr1 = new Square(0,0, Color.BLACK);
Square redsqr2 = new Square(0,0, Color.RED);
Square blksqr2 = new Square(0,0, Color.BLACK);
Square redsqr3 = new Square(0,0, Color.RED);
Square blksqr3 = new Square(0,0, Color.BLACK);
Square redsqr4 = new Square(0,0, Color.RED);
Square blksqr4 = new Square(0,0, Color.BLACK);
Square redsqr5 = new Square(0,0, Color.RED);
Square blksqr5 = new Square(0,0, Color.BLACK);
Square redsqr6 = new Square(0,0, Color.RED);
Square blksqr6 = new Square(0,0, Color.BLACK);
Square redsqr7 = new Square(0,0, Color.RED);
Square blksqr7 = new Square(0,0, Color.BLACK);
Square redsqr8 = new Square(0,0, Color.RED);
Square blksqr8 = new Square(0,0, Color.BLACK);
panel.add(redsqr1);
panel.add(blksqr1);
panel.add(redsqr2);
panel.add(blksqr2);
panel.add(redsqr3);
panel.add(blksqr3);
panel.add(redsqr4);
panel.add(blksqr4);
panel.add(blksqr5);
panel.add(redsqr5);
panel.add(blksqr6);
panel.add(redsqr6);
panel.add(blksqr7);
panel.add(redsqr7);
panel.add(blksqr8);
panel.add(redsqr8);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
나는 출력이 각 사각형 사이에 큰 공간을 2 열로 배치되는 이유에
그냥 궁금해서 출력을 얻을. 빨강, 검은 색, 빨간색, 검은 색, 빨간색, 검은 색, 빨간색, 검은 색 사각형과 검은 색, 빨간색, 검은 색, 빨간색, 검은 색을 포함하는 두 번째 행을 포함하는 첫 번째 행을 갖기 위해 한 행에 나란히 나란히 머물러있게하는 방법은 무엇입니까? , 빨간색, 검은 색, 빨간색 사각형.
미리 도움 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. 늦어서 미안해. 그것은 내가 일주일 후에 jLayeredPane로 sqaures를 구현하려고 시도했을 때 나는 당신의 도움을받은 그날을 훌륭하게 작동 시켰고 나는 그것을 다 망쳤으며 sqaures는 더 이상 체커 보드를 형성하지 않았다. 단지 한 sqaure 그렸습니다. –
당신을 진심으로 환영합니다. 행복하게 도왔다. StackOverFlow에서는 일반적으로 답변이 도움이 될 때 해당 답변의 왼쪽에있는 녹색 체크 표시를 선택하여 질문의 답변으로 표시 할 수 있습니다. – STaefi
또한 'JLayeredPane'의 경우 [MCVE]를 사용하는 것이 더 빠르고 더 나은 도움을받을 수있는 또 다른 질문이 될 수 있습니다. – STaefi