📄 nothelloworldpanel.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 + -