자바 체스 판 인쇄 방법
문제 분석
체스 판 의 도안 을 관찰 하면 그 중의 규칙 을 발견 할 수 있다.바둑판 은 8 행 8 열 흑백 사각형 으로 구성 되 고 i 로 줄 을 제어 할 수 있 으 며 j 로 열 을 제어 할 수 있다.i+j 의 변화 에 따라 검은색 사각형 인지 흰색 사각형 인지 출력 할 수 있다.여기에서 저 희 는 Swing 의 태그 구성 요소 인 JLable 을 사 용 했 습 니 다.JLabel 구성 요소 의 배경 색 과 투명 도 를 설정 하여 흑백 사각형 을 실현 합 니 다.
(1)프로그램 프레임 워 크 확인
이것 은 그림 사례 입 니 다.여기 서 JFrame 로 창 을 만 든 다음 에 창 에 JLabel 태그 구성 요 소 를 추가 합 니 다.앞의 문제 분석 을 통 해 알 수 있 듯 이 JLabel 라벨 은 흑백 사각형 을 실현 하 는 속성 을 설정 한 다음 에 창 을 표시 해 야 합 니 다.
프로그램 프레임 코드 는 다음 과 같 습 니 다:
import javax.swing.JFrame;
import javax.swing.JLabel;
public class First
{
public static void main(String[] args)
{
JFrame f=new JFrame(" ");//
JLabel lab = new JLabel(); //
f.add(lab); //
f.setVisible(true); //
}
}
(2)창 속성 설정창 속성 설정 은 창 크기,위치 등 설정 을 포함 합 니 다.그 중에서 창 크기 는 흑백 칸 을 수용 할 수 있 도록 만족 시 켜 야 합 니 다.여기 서 흑백 칸 크기 를 20*20 으로 지정 하면 창 속성 크기 는 168*195 입 니 다.창 위 치 는 마음대로 지정 할 수 있 습 니 다.여 기 는:(350,200)로 지정 합 니 다.프로그램 코드 는 다음 과 같 습 니 다:
//
f.setSize(168,195); //
//
Point point=new Point(350,200);
f.setLocation(point);
(3)태그 속성 설정라벨 의 속성 은 주로 라벨 의 위치 와 배경 색 입 니 다.바둑판 은 8 줄 8 열 흑백 사각형 으로 구성 되 어 있 습 니 다.이중 순환 을 통 해 이 루어 집 니 다.i 제어 줄,j 로 열 을 제어 할 수 있 고 위 치 는 쉽게 설정 할 수 있 습 니 다.i+j 의 변화 에 따라 배경 색 을 설정 하여 검은색 블록 인지 흰색 블록 인지 표시 합 니 다.프로그램 코드 는 다음 과 같 습 니 다:
int grids=8; //
int gridsize=20; //
for(int i=0; i<grids; i++)
{
for(int j=0; j<grids; j++)
{
JLabel l = new JLabel(); //
l.setSize(gridsize,gridsize); //
l.setLocation(i*gridsize,j*gridsize); //
if((i+j)%2==0)
{ // ,
l.setBackground(Color.black); //
l.setOpaque(true); //
}
else
{
l.setBackground(Color.white); //
l.setOpaque(true); //
}
l.setBorder(BorderFactory.createLineBorder(Color.black)); //
}
}
전체 코드:
import java.awt.Color;
import java.awt.Point;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class First
{
public static void main(String[] args)
{
JFrame f=new JFrame(" "); //
f.setSize(168,195); // //
//
Point point=new Point(350,200);
f.setLocation(point);
int grids=8; //
int gridsize=20; //
for(int i=0; i<grids; i++) //
{
for(int j=0; j<grids; j++) //
{
JLabel l = new JLabel(); //
l.setSize(gridsize,gridsize); //
l.setLocation(i*gridsize,j*gridsize); //
if((i+j)%2==0)
{ // ,
l.setBackground(Color.black); //
l.setOpaque(true); //
}
else
{
l.setBackground(Color.white); //
l.setOpaque(true); //
}
l.setBorder(BorderFactory.createLineBorder(Color.black)); //
f.add(l); //
}
}
f.setVisible(true); //
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.