📄 mainpanel.java
字号:
g.drawImage(p1,580,349,this); } else{ g.drawImage(p2,580,349,this); } } public void addSometing(){ setLayout(null); JButton Jbegin = new JButton(playIcon); Jbegin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { if(Player==2){ fivejunct = new TrafficControl(onetime,traffic); afivejunct=new Thread(fivejunct); afivejunct.setPriority(Thread.MAX_PRIORITY); afivejunct.start(); } Player=0; fivejunct.setPlayer(Player); } }); JButton JStop = new JButton(stopIcon); JStop.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { if(Player!=2) { Player=1; fivejunct.setPlayer(Player); } } }); JButton JEnd = new JButton(endIcon); JEnd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { stopPlay(); } }); JButton setFlowButton = new JButton("设置流量"); setFlowButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) {int t; for(int i=0;i<20;i++){ if(i%4>=i/4)t=i%4+1; else t=i%4; setFlowFrame.setFlowPanel.flow[i].setText(Float.toString(traffic[i/4][t])); setFlowFrame.setVisible(true); } } }); ChangeListener listener = new ChangeListener(){ public void stateChanged(ChangeEvent event) { JSlider source = (JSlider) event.getSource(); if(source.getValue()>=4) onetime=1000>>(source.getValue()-4); else onetime=1000<<(4-source.getValue()); fivejunct.setOnetime(onetime); createCar.setonetime(onetime); } }; JSlider slider = new JSlider(0,8,4); slider.setPaintTicks(true); slider.setPaintLabels(true); slider.setMajorTickSpacing(1); slider.setBackground(Color.LIGHT_GRAY); slider.setSnapToTicks(true); JPanel pl = new JPanel(); slider.addChangeListener(listener); Dictionary<Integer,Component> labelTable = new Hashtable<Integer,Component>(); labelTable.put(0, new JLabel("1/16X")); labelTable.put(1, new JLabel("1/8X")); labelTable.put(2, new JLabel("1/4X")); labelTable.put(3, new JLabel("1/2X")); labelTable.put(4, new JLabel("1X")); labelTable.put(5, new JLabel("2X")); labelTable.put(6, new JLabel("4X")); labelTable.put(7, new JLabel("8X")); labelTable.put(8, new JLabel("16X")); slider.setLabelTable(labelTable); pl.setBackground(new Color(45,57,64)); pl.setBounds(525,0,274,129); pl.setLayout(new BorderLayout()); pl.add(slider,BorderLayout.NORTH); JPanel p2=new JPanel(); p2.add(Jbegin); p2.add(JStop); p2.add(JEnd); pl.add(p2); pl.add(setFlowButton,BorderLayout.SOUTH); this.add(pl);}public void stopPlay(){ Player=2; fivejunct.setPlayer(Player); fivejunct.resetTrafficLight(); afivejunct.stop();}public void setTraffic(float[][] aTraffic){ traffic=aTraffic.clone();}private void initCar(){ int temp; Car preCar; createCar=new CreateCar(this,onetime,traffic); Thread t=new Thread(createCar); //System.out.println(Integer.toString(t.getPriority())); t.setPriority(6); t.start();}private Image getImg(int i,int j){ int[][] r=fivejunct.getTrafficLight(); if(i==0){ if(j==1){ if(r[i][j]==0)return g6; else if(r[i][j]==1)return y6; else if(r[i][j]==2)return r6; } else if(j==2){ if(r[i][j]==0)return g0; else if(r[i][j]==1)return y0; else if(r[i][j]==2)return r0; } else if(j==3){ if(r[i][j]==0)return g7; else if(r[i][j]==1)return y7; else if(r[i][j]==2)return r7; } else if(j==4){ if(r[i][j]==0)return g1; else if(r[i][j]==1)return y1; else if(r[i][j]==2)return r1; } } else if(i==1){ if(j==0){ if(r[i][j]==0)return g2; else if(r[i][j]==1)return y2; else if(r[i][j]==2)return r2; } else if(j==2){ if(r[i][j]==0)return g0; else if(r[i][j]==1)return y0; else if(r[i][j]==2)return r0; } else if(j==3){ if(r[i][j]==0)return g1; else if(r[i][j]==1)return y1; else if(r[i][j]==2)return r1; } else if(j==4){ if(r[i][j]==0)return g4; else if(r[i][j]==1)return y4; else if(r[i][j]==2)return r4; } } else if(i==2){ if(j==0){ if(r[i][j]==0)return g2; else if(r[i][j]==1)return y2; else if(r[i][j]==2)return r2; } else if(j==1){ if(r[i][j]==0)return g3; else if(r[i][j]==1)return y3; else if(r[i][j]==2)return r3; } else if(j==3){ if(r[i][j]==0)return g1; else if(r[i][j]==1)return y1; else if(r[i][j]==2)return r1; } else if(j==4){ if(r[i][j]==0)return g4; else if(r[i][j]==1)return y4; else if(r[i][j]==2)return r4; } } else if(i==3){ if(j==0){ if(r[i][j]==0)return g5; else if(r[i][j]==1)return y5; else if(r[i][j]==2)return r5; } else if(j==1){ if(r[i][j]==0)return g3; else if(r[i][j]==1)return y3; else if(r[i][j]==2)return r3; } else if(j==2){ if(r[i][j]==0)return g0; else if(r[i][j]==1)return y0; else if(r[i][j]==2)return r0; } else if(j==4){ if(r[i][j]==0)return g2; else if(r[i][j]==1)return y2; else if(r[i][j]==2)return r2; } } else if(i==4){ if(j==0){ if(r[i][j]==0)return g3; else if(r[i][j]==1)return y3; else if(r[i][j]==2)return r3; } else if(j==1){ if(r[i][j]==0)return g6; else if(r[i][j]==1)return y6; else if(r[i][j]==2)return r6; } else if(j==2){ if(r[i][j]==0)return g0; else if(r[i][j]==1)return y0; else if(r[i][j]==2)return r0; } else if(j==3){ if(r[i][j]==0)return g1; else if(r[i][j]==1)return y1; else if(r[i][j]==2)return r1; } } return null;}ImageIcon Icon,playIcon,stopIcon,endIcon;Image img,background,car0,car60,car90,car120,car180,car240,car270,car300, r0,r1,r2,r3,r4,r5,r6,r7,y0,y1,y2,y3,y4,y5,y6,y7,g0,g1,g2,g3,g4,g5,g6,g7, end,end30,end90,end330,end_2,end30_2,end90_2,end330_2,p1,p2;public double x=400.0,y=500.0;public double[] angel={240,180,90,0,300}; Car c;public TrafficControl fivejunct;public CreateCar createCar;private Image[][] l=new Image[8][3];public ArrayList[] queue=new ArrayList[25];public int Player=2;//播放器状态public int onetime=1000;//单位时间float[][] traffic=new float[5][5];Thread afivejunct;public FlowFrame setFlowFrame;public Point[] turn={new Point(0,0),new Point(296,247),new Point(409,220),new Point(421,310),new Point(397,397)//0,2 0,4 ,new Point(227,332),new Point(0,0),new Point(386,223),new Point(0,0),new Point(354,309) ,new Point(318,223),new Point(298,180),new Point(0,0),new Point(362,181),new Point(341,218) ,new Point(333,247),new Point(1000,1000),new Point(453,201),new Point(0,0),new Point(376,245) ,new Point(268,369),new Point(418,225),new Point(432,208),new Point(502,333),new Point(0,0)};public Point[] begin={new Point(0,0),new Point(168,600),new Point(187,600),new Point(211,600),new Point(237,600),new Point(0,332),new Point(0,0),new Point(0,268),new Point(0,288),new Point(0,310),new Point(319,0),new Point(297,0),new Point(0,0),new Point(361,0),new Point(340,0),new Point(800,226),new Point(800,204),new Point(800,182),new Point(0,0),new Point(800,247),new Point(612,600),new Point(632,600),new Point(658,600),new Point(683,600),new Point(0,0),};public Point[] stop={new Point(0,0),new Point(262,413),new Point(277,418),new Point(296,426),new Point(315,433),new Point(166,334),new Point(0,0),new Point(166,273),new Point(166,291),new Point(166,311),new Point(320,130),new Point(298,130),new Point(0,0),new Point(365,130),new Point(345,130),new Point(583,228),new Point(583,207),new Point(583,187),new Point(0,0),new Point(583,248),new Point(514,419),new Point(529,408),new Point(548,399),new Point(568,389),new Point(0,0)};}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -