자바 체스 판 인쇄 방법

본 논문 의 사례 는 자바 가 체스 판 을 인쇄 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.

문제 분석
체스 판 의 도안 을 관찰 하면 그 중의 규칙 을 발견 할 수 있다.바둑판 은 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); //    
 }
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기