⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nothelloworldpanel.java

📁 guan yu java duo xian cheng, bing xing ji suan. shu yu bing xing ji suan fan chou
💻 JAVA
字号:
package example;

import javax.swing.JPanel;
import javax.swing.*;

import java.awt.*;
import java.awt.geom.*;
public class NotHelloWorldPanel extends JPanel{
	
public int light=1;
	
	
	
	
	
	public int[][] map=new int[20][10];
	
	public void initialMap(){
		for(int i=0;i<20;i++){
			for(int j=0;j<4;j++){
				map[i][j]=0;
			}
		}
	}
	
	public void setMap(int i,int j,int value){
		map[i][j]=value;
	}
	
	public void setLight(int i){
		this.light=i;
	}
	
	public void updateMap(int x[][],int light_master){
		for(int i=0;i<20;i++){
			for(int j=0;j<8;j++){
				map[i][j]=x[i][j];
			}
		}
		light=light_master;
		this.repaint();
	}
	
	public void paintComponent(Graphics g){
		super.paintComponent(g);
		Graphics2D g2=(Graphics2D)g;
		Rectangle2D[][] rect1=new Rectangle2D[4][20];
		Rectangle2D[][] rect2=new Rectangle2D[4][20];
		Rectangle2D	traffic_Light1=new Rectangle2D.Double(210,210,30,30);
		Rectangle2D	traffic_Light2=new Rectangle2D.Double(360,210,30,30);
		Rectangle2D	traffic_Light3=new Rectangle2D.Double(360,360,30,30);
		Rectangle2D	traffic_Light4=new Rectangle2D.Double(210,360,30,30);
		g2.setColor(Color.WHITE);
		for(int i=0;i<4;i++){
			for(int j=0;j<20;j++){
				rect1[i][j]=new Rectangle2D.Double((i+8)*30,(j*30),30,30);
				g2.draw(rect1[i][j]);
			}
		}
		for(int i=0;i<4;i++){
			for(int j=0;j<20;j++){
				rect2[i][j]=new Rectangle2D.Double((j*30),(i+8)*30,30,30);
				g2.draw(rect2[i][j]);
			}
		}
		
		int x,y;
		
		for(int i=0;i<4;i++){
			for(int j=0;j<8;j++){
				x=9-i;
				y=7-j;
				if(map[x][y]==1){
					g2.setPaint(Color.BLUE);
					g2.fill(rect1[i][j]);
				}
			}
		}
		for(int i=0;i<4;i++){
			for(int j=0;j<8;j++){
				if(map[(i+10)][(7-j)]==1){
					g2.setPaint(Color.BLUE);
					g2.fill(rect2[i][j]);
				}
			}
		}
		for(int i=0;i<4;i++){
			for(int j=12;j<20;j++){
				if(map[(5-i)][(j-12)]==1){
					g2.setPaint(Color.BLUE);
					g2.fill(rect2[i][j]);
				}
			}
		}
		
		for(int i=0;i<2;i++){
			for(int j=12;j<20;j++){
				if(map[(i+14)][(j-12)]==1){
					g2.setPaint(Color.BLUE);
					g2.fill(rect1[i][j]);
				}
			}
		}
		
		for(int i=2;i<4;i++){
			for(int j=12;j<20;j++){
				if(map[(i-2)][(j-12)]==1){
					g2.setPaint(Color.BLUE);
					g2.fill(rect1[i][j]);
				}
			}
		}
		
		for(int i=0;i<4;i++){
			for(int j=8;j<12;j++){
				if(map[(j+8)][i]==1){
					g2.setPaint(Color.BLUE);
					g2.fill(rect1[i][j]);
				}
			}
		}
		if(this.light==1){
			g2.setPaint(Color.ORANGE);
			g2.fill(traffic_Light2);
			g2.fill(traffic_Light4);
			g2.setPaint(Color.RED);
			g2.fill(traffic_Light1);
			g2.fill(traffic_Light3);
		}
		else if(this.light==2){
			g2.setPaint(Color.GREEN);
			g2.fill(traffic_Light2);
			g2.fill(traffic_Light4);
			g2.setPaint(Color.RED);
			g2.fill(traffic_Light1);
			g2.fill(traffic_Light3);
		}
		else if(this.light==3){
			g2.setPaint(Color.ORANGE);
			g2.fill(traffic_Light1);
			g2.fill(traffic_Light3);
			g2.setPaint(Color.RED);
			g2.fill(traffic_Light2);
			g2.fill(traffic_Light4);
		}
		else if(this.light==4){
			g2.setPaint(Color.GREEN);
			g2.fill(traffic_Light1);
			g2.fill(traffic_Light3);
			g2.setPaint(Color.RED);
			g2.fill(traffic_Light2);
			g2.fill(traffic_Light4);
		}
		
		
		
		
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -