亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? controlpanel.java

?? java源代碼
?? JAVA
字號:
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

/**
 * 控制面板類,繼承自JPanel.
 * 上邊安放預顯窗口、等級、得分、控制按鈕
 * 主要用來控制游戲進程。
 */
class ControlPanel extends JPanel {
	private JTextField
	        tfLevel = new JTextField(""+ BlocksGame.DEFAULT_LEVEL),
	        tfScore = new JTextField("0");
	       
 // private AudioClip myAudio=getAudioClip(getCodeBase(),"0.wav"); 
       

	private JButton
	        btPlay = new JButton("Play"),
	btPause = new JButton("Pause"),
	btStop = new JButton("Stop"),
	btTurnLevelUp = new JButton("Turn hard"),
	btTurnLevelDown = new JButton("Turn easy");


	private JPanel plTip = new JPanel(new BorderLayout());
	private TipPanel plTipBlock = new TipPanel();
	private JPanel plInfo = new JPanel(new GridLayout(4, 1));
	private JPanel plButton = new JPanel(new GridLayout(5, 1));

	private Timer timer;
	private BlocksGame game;
	private GameTable table;

	private Border border = new EtchedBorder(
	        EtchedBorder.RAISED, Color.orange, new Color(148, 145, 140));

	/**
	 * 控制面板類的構造函數
	 * @param game ErsBlocksGame, ErsBoxesGame類的一個實例引用,
	 * 方便直接控制ErsBoxesGame類的行為。
	 */
	public ControlPanel(final BlocksGame game) {
		setLayout(new GridLayout(3, 1, 0, 4));
		this.game = game;

		plTip.add(new JLabel("Next block:"), BorderLayout.NORTH);
		plTip.add(plTipBlock);
		plTip.setBorder(border);

		plInfo.add(new JLabel("Level:"));
		plInfo.add(tfLevel);
		plInfo.add(new JLabel("Score:"));
		plInfo.add(tfScore);
		plInfo.setBorder(border);

		tfLevel.setEditable(false);
		tfScore.setEditable(false);

		plButton.add(btPlay);
		plButton.add(btPause);
		plButton.add(btStop);
		plButton.add(btTurnLevelUp);
		plButton.add(btTurnLevelDown);
		plButton.setBorder(border);

		add(plTip);
		add(plInfo);
		add(plButton);

		addKeyListener(new ControlKeyListener());
		
		btPlay.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				game.playGame();
			}
		});
		btPause.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				if (btPause.getText().equals(new String("Pause"))) {
					game.pauseGame();
				} else {
					game.resumeGame();
				}
			}
		});
		btStop.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				game.stopGame();
			}
		});
		btTurnLevelUp.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				try {
					int level = Integer.parseInt(tfLevel.getText());
					if (level < BlocksGame.MAX_LEVEL)
						tfLevel.setText("" + (level + 1));
				} catch (NumberFormatException e) {
				}
				requestFocus();
			}
		});
		btTurnLevelDown.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				try {
					int level = Integer.parseInt(tfLevel.getText());
					if (level > 1)
						tfLevel.setText("" + (level - 1));
				} catch (NumberFormatException e) {
				}
				requestFocus();
			}
		});
	

		addComponentListener(new ComponentAdapter() {
			public void componentResized(ComponentEvent ce) {
				plTipBlock.fanning();
			}
		});

		timer = new Timer(500, new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				tfScore.setText("" + game.getScore());
			}
		});
		timer.start();
	}

	/**
	 * 設置預顯窗口的樣式,
	 * @param style int,對應ErsBlock類的STYLES中的28個值
	 */
	public void setTipStyle(int style) {
		plTipBlock.setStyle(style);
	}

	/**
	 * 取得用戶設置的游戲等級。
	 * @return int, 難度等級,1 - ErsBlocksGame.MAX_LEVEL
	 */
	public int getLevel() {
		int level = 0;
		try {
			level = Integer.parseInt(tfLevel.getText());
		} catch (NumberFormatException e) {
		}
		return level;
	}

	/**
	 * 讓用戶修改游戲難度等級。
	 *  level 修改后的游戲難度等級
	 */
	public void setLevel(int level) {
		if (level > 0 && level < 11) tfLevel.setText("" + level);
	}

	/**
	 * 設置"開始"按鈕的狀態。
	 */
	public void setPlayButtonEnable(boolean enable) {
		btPlay.setEnabled(enable);
	}

	public void setPauseButtonLabel(boolean pause) {
		btPause.setText(pause ? "Pause" : "Continue");
	}

	/**
	 * 重置控制面板
	 */
	public void reset() {
		tfScore.setText("0");
		plTipBlock.setStyle(0);
	}

	/**
	 * 重新計算TipPanel里的boxes[][]里的小框的大小
	 */
	public void fanning() {
		plTipBlock.fanning();
	}

	/**
	 * 預顯窗口的實現細節類
	 */
	private class TipPanel extends JPanel {
		private Color backColor = Color.darkGray, frontColor = Color.lightGray;
		private ErsBox[][] boxes =
		        new ErsBox[Block.BOXES_ROWS][Block.BOXES_COLS];

		private int style, boxWidth, boxHeight;
		private boolean isTiled = false;

		/**
		 * 預顯窗口類構造函數
		 */
		public TipPanel() {
			for (int i = 0; i < boxes.length; i++) {
				for (int j = 0; j < boxes[i].length; j++)
					boxes[i][j] = new ErsBox(false);
			}
		}

		/**
		 * 預顯窗口類構造函數
		 * @param backColor Color, 窗口的背景色
		 * @param frontColor Color, 窗口的前景色
		 */
		public TipPanel(Color backColor, Color frontColor) {
			this();
			this.backColor = backColor;
			this.frontColor = frontColor;
		}

// 設置預顯窗口的方塊樣式
  	public void setStyle(int style) {
			this.style = style;
			repaint();
		}

//覆蓋JComponent類的函數,畫組件。
		 public void paintComponent(Graphics g) {
			super.paintComponent(g);

			if (!isTiled) fanning();

			int key = 0x8000;
			for (int i = 0; i < boxes.length; i++) {
				for (int j = 0; j < boxes[i].length; j++) {
					Color color = (((key & style) != 0) ? frontColor : backColor);
					g.setColor(color);
					g.fill3DRect(j * boxWidth, i * boxHeight,
					        boxWidth, boxHeight, true);
					key >>= 1;
				}
			}
		}

		/**
		 * 根據窗口的大小,自動調整方格的尺寸
		 */
		public void fanning() {
			boxWidth = getSize().width / Block.BOXES_COLS;
			boxHeight = getSize().height / Block.BOXES_ROWS;
			isTiled = true;
		}
	}

	private class ControlKeyListener extends KeyAdapter {
		public void keyPressed(KeyEvent ke) {
			if (!game.isPlaying()) return;

			Block block = game.getCurBlock();
			switch (ke.getKeyCode()) {
				case KeyEvent.VK_DOWN:
					block.moveDown();
					break;
				case KeyEvent.VK_LEFT:
					block.moveLeft();
					break;
				case KeyEvent.VK_RIGHT:
					block.moveRight();
					break;
				case KeyEvent.VK_UP:
					block.turnNext();
					break;
				default:
					break;
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线看国产| 欧美日韩一区国产| 日本91福利区| 国产精品欧美一区喷水| 这里只有精品电影| 99久久综合精品| 理论片日本一区| 香港成人在线视频| 国产精品无遮挡| 日韩小视频在线观看专区| 97久久人人超碰| 国产精品一二三区| 蜜臀av一区二区在线观看| 一区二区三区免费看视频| 亚洲国产精品精华液2区45| 欧美一区国产二区| 欧美视频一二三区| 91伊人久久大香线蕉| 国产精品1区二区.| 色综合天天性综合| 蜜臀av一级做a爰片久久| 亚洲国产精品麻豆| 亚洲乱码国产乱码精品精可以看| 国产偷国产偷精品高清尤物| 日韩精品一区二区三区视频播放| 欧洲精品一区二区三区在线观看| av一区二区三区| 成人aa视频在线观看| 国产电影一区二区三区| 国内精品国产成人国产三级粉色| 首页亚洲欧美制服丝腿| 亚洲gay无套男同| 亚洲一二三区在线观看| 亚洲自拍偷拍九九九| 亚洲精品成人悠悠色影视| 亚洲欧美在线aaa| 亚洲欧洲性图库| 中文字幕一区二区不卡| 国产精品萝li| 中文字幕在线不卡国产视频| 国产精品第五页| 国产精品夫妻自拍| 亚洲一区二区综合| 亚洲综合精品自拍| 日韩高清在线一区| 男女性色大片免费观看一区二区 | 久久久av毛片精品| 久久久天堂av| 国产欧美精品区一区二区三区| 久久久久久久久久久黄色| 久久久亚洲综合| 国产精品久久国产精麻豆99网站| 国产精品久久久久天堂| 亚洲欧美日韩在线播放| 一区二区三区日韩| 婷婷国产在线综合| 国内久久精品视频| 成人免费看视频| 91国产精品成人| 91麻豆精品国产91久久久久久久久| 3d动漫精品啪啪一区二区竹菊| 欧美v日韩v国产v| 另类小说色综合网站| 精品一区二区三区免费| 国产精品一二二区| 91蜜桃网址入口| 91精品欧美综合在线观看最新| 日韩三级视频在线看| 国产视频一区二区在线| 一区二区三区在线视频免费| 免费的国产精品| 成人aaaa免费全部观看| 欧美三级在线播放| www激情久久| 亚洲欧美福利一区二区| 日韩综合在线视频| 丰满少妇久久久久久久| 欧美性感一类影片在线播放| 久久理论电影网| 亚洲综合色在线| 国产一区二区三区在线观看免费视频 | 亚洲国产精品成人综合| 亚洲一区二区三区四区在线观看 | 欧美在线不卡视频| 26uuu国产电影一区二区| 亚洲色大成网站www久久九九| 午夜精品久久久久影视| 国产一区欧美一区| 日本乱人伦aⅴ精品| 欧美videos中文字幕| 亚洲精品免费在线观看| 精品一区二区三区日韩| 欧美性猛片aaaaaaa做受| 久久免费偷拍视频| 亚洲国产毛片aaaaa无费看 | 国产伦精品一区二区三区在线观看| 91视频观看视频| 欧美r级在线观看| 亚洲一区二区五区| 成人18视频在线播放| 欧美一级理论片| 伊人婷婷欧美激情| 国产91丝袜在线观看| 制服视频三区第一页精品| 亚洲女厕所小便bbb| 国产精品综合二区| 欧美一区在线视频| 亚洲已满18点击进入久久| 国产69精品久久久久毛片| 欧美一区二区三区四区高清| 亚洲一区二区三区四区中文字幕| av在线一区二区三区| 国产亚洲精品免费| 久久精品久久精品| 欧美一区二区观看视频| 午夜影院在线观看欧美| 欧美亚洲高清一区| 亚洲免费在线看| 99精品欧美一区二区蜜桃免费 | 欧美人动与zoxxxx乱| 中文字幕中文在线不卡住| 国产一区美女在线| 精品福利av导航| 麻豆精品在线观看| 91精选在线观看| 日欧美一区二区| 欧美日本高清视频在线观看| 夜夜嗨av一区二区三区网页| 2020日本不卡一区二区视频| 免费看欧美女人艹b| 欧美日韩电影一区| 日韩电影在线看| 欧美一级午夜免费电影| 日韩av一区二区在线影视| 欧美日韩精品一区二区| 污片在线观看一区二区| 欧美三片在线视频观看| 亚洲第一电影网| 91精品国产乱码| 另类欧美日韩国产在线| 精品福利视频一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区| 欧美一区二区三区婷婷月色| 日本中文字幕不卡| 欧美v亚洲v综合ⅴ国产v| 国产一区二区三区四| 国产精品污网站| 99精品视频一区| 亚洲18色成人| 欧美一级二级在线观看| 国产在线一区二区| 欧美国产综合色视频| 99国产精品视频免费观看| 一区二区三区欧美日韩| 69久久99精品久久久久婷婷| 另类小说综合欧美亚洲| 亚洲国产精品成人综合色在线婷婷| fc2成人免费人成在线观看播放| 亚洲色图19p| 91精选在线观看| 国产99一区视频免费| 亚洲日本一区二区三区| 欧美精品777| 极品少妇xxxx精品少妇| 亚洲国产精品二十页| 欧美日韩免费一区二区三区视频| 热久久久久久久| 国产精品天天摸av网| 91丨九色丨尤物| 日本va欧美va欧美va精品| 国产女主播视频一区二区| 99国产精品视频免费观看| 日韩黄色小视频| 国产日韩一级二级三级| 色噜噜狠狠一区二区三区果冻| 日韩中文字幕亚洲一区二区va在线 | 国产成人av一区二区| 久久er精品视频| 国产精品国产精品国产专区不片| 在线免费精品视频| 国模大尺度一区二区三区| 一区二区三区中文字幕电影| 26uuu久久天堂性欧美| 91亚洲精品一区二区乱码| 免费一级欧美片在线观看| 中文字幕中文字幕一区二区| 日韩一区二区在线观看| 91麻豆国产香蕉久久精品| 久久国产麻豆精品| 亚洲裸体在线观看| 精品成人私密视频| 欧美日韩的一区二区| aaa欧美日韩| 加勒比av一区二区| 午夜精品一区二区三区电影天堂| 国产日韩欧美一区二区三区综合| 欧美美女视频在线观看| 99国产精品久| 国产福利一区二区三区视频在线| 视频在线观看91|