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

📄 gameoptionpanel.java

📁 用java编写的俄罗斯方块源代码
💻 JAVA
字号:
package cn.itcast.tetris.game;

import java.awt.Font;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.border.EtchedBorder;


/**
 * 游戏的设置项面板
 * 
 * @version 1.0, 01/01/08
 * 
 * @author 汤阳光
 * 
 */
public class GameOptionPanel extends JPanel {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	URL imageURL = GameOptionPanel.class.getResource("/czbk.png");
	private ImageIcon czbkIcon = imageURL != null ? new ImageIcon(imageURL)
			: null;

	private JFrame frame;

	private final JTextField textField_stayTime = new JTextField();

	private final JTextField textField_obstacleNum = new JTextField();

	private JTextField textField_lineNum = new JTextField();

	private final JButton newGameButton = new JButton();

	private final JButton stopGameButton = new JButton();

	private final JButton pauseButton = new JButton();

	private final JCheckBox checkBox_drawGridding = new JCheckBox();

	private final JCheckBox checkBox_colorfulShape = new JCheckBox();

	private final JCheckBox checkBox_colorfulObstacle = new JCheckBox();

	private final JButton button_obstacleColor;

	private final JButton button_griddingColor;

	private final JButton button_shapeColor;

	private final JButton button_fullLineColor;

	private final JButton buttonBackgroundColor;

	private final JButton button_default;

	/**
	 * Create the panel
	 */
	public GameOptionPanel() {
		super();
		setSize(280, 334);
		setLayout(null);
		setBorder(new EtchedBorder(EtchedBorder.LOWERED));
		setFocusable(false);

		final JSeparator separator = new JSeparator();
		separator.setBounds(12, 69, 255, 30);
		add(separator);

		button_griddingColor = new JButton();
		button_griddingColor.setBounds(135, 5, 96, 23);
		separator.add(button_griddingColor);

		button_griddingColor.setFont(new Font("宋体", Font.PLAIN, 12));
		button_griddingColor.setFocusable(false);
		button_griddingColor.setText("设置颜色");

		button_griddingColor.setVisible(false);

		checkBox_drawGridding.setBounds(5, 5, 105, 23);
		separator.add(checkBox_drawGridding);

		checkBox_drawGridding.setText("显示网格");
		checkBox_drawGridding.setFont(new Font("宋体", Font.PLAIN, 12));

		final JSeparator separator_1 = new JSeparator();
		separator_1.setBounds(12, 105, 255, 39);
		add(separator_1);

		button_shapeColor = new JButton();
		button_shapeColor.setBounds(135, 10, 96, 23);
		separator_1.add(button_shapeColor);

		button_shapeColor.setFont(new Font("宋体", Font.PLAIN, 12));
		button_shapeColor.setFocusable(false);
		button_shapeColor.setText("设置颜色");

		checkBox_colorfulShape.setText("关闭彩色图形");
		checkBox_colorfulShape.setBounds(5, 10, 105, 23);
		separator_1.add(checkBox_colorfulShape);

		checkBox_colorfulShape.setSelected(true);
		checkBox_colorfulShape.setFont(new Font("宋体", Font.PLAIN, 12));

		final JSeparator separator_2 = new JSeparator();
		separator_2.setBounds(12, 145, 255, 39);
		add(separator_2);

		button_obstacleColor = new JButton();
		button_obstacleColor.setBounds(135, 10, 96, 23);
		separator_2.add(button_obstacleColor);

		button_obstacleColor.setFont(new Font("宋体", Font.PLAIN, 12));
		button_obstacleColor.setFocusable(false);
		button_obstacleColor.setText("设置颜色");

		checkBox_colorfulObstacle.setText("关闭彩色障碍物");
		checkBox_colorfulObstacle.setBounds(5, 10, 122, 23);
		separator_2.add(checkBox_colorfulObstacle);

		checkBox_colorfulObstacle.setSelected(true);
		checkBox_colorfulObstacle.setFont(new Font("宋体", Font.PLAIN, 12));

		final JSeparator separator_3 = new JSeparator();
		separator_3.setBounds(12, 185, 255, 33);
		add(separator_3);

		final JLabel label_7 = new JLabel();
		label_7.setBounds(10, 10, 48, 15);
		separator_3.add(label_7);
		label_7.setFont(new Font("宋体", Font.PLAIN, 12));
		label_7.setFocusable(false);
		label_7.setText("随机生成");

		textField_obstacleNum.setFont(new Font("宋体", Font.PLAIN, 12));
		textField_obstacleNum.setBounds(65, 10, 32, 15);
		separator_3.add(textField_obstacleNum);
		textField_obstacleNum.setText("30");

		final JLabel label_2 = new JLabel();
		label_2.setBounds(100, 10, 18, 15);
		separator_3.add(label_2);
		label_2.setText("个");
		label_2.setFont(new Font("宋体", Font.PLAIN, 12));

		textField_lineNum.setBounds(120, 10, 24, 15);
		textField_lineNum.setFont(new Font("宋体", Font.PLAIN, 12));
		separator_3.add(textField_lineNum);
		//

		textField_lineNum.setText("0");

		final JLabel label_8 = new JLabel();
		label_8.setBounds(150, 10, 66, 15);
		separator_3.add(label_8);
		label_8.setFont(new Font("宋体", Font.PLAIN, 12));
		label_8.setFocusable(false);
		label_8.setText("行障碍物");

		final JSeparator separator_4 = new JSeparator();
		separator_4.setBounds(12, 220, 255, 33);
		add(separator_4);

		textField_stayTime.setFont(new Font("宋体", Font.PLAIN, 12));
		textField_stayTime.setBounds(110, 14, 42, 15);
		separator_4.add(textField_stayTime);
		textField_stayTime.setText("300");

		final JLabel label_1 = new JLabel();
		label_1.setBounds(160, 14, 24, 15);
		separator_4.add(label_1);
		label_1.setFont(new Font("宋体", Font.PLAIN, 12));
		label_1.setFocusable(false);
		label_1.setText("毫秒");

		button_fullLineColor = new JButton();
		button_fullLineColor.setBounds(195, 10, 60, 23);
		separator_4.add(button_fullLineColor);

		button_fullLineColor.setFont(new Font("宋体", Font.PLAIN, 12));
		button_fullLineColor.setFocusable(false);
		button_fullLineColor.setText("颜色");

		final JLabel label = new JLabel();
		label.setBounds(10, 14, 120, 15);
		separator_4.add(label);
		label.setFont(new Font("宋体", Font.PLAIN, 12));
		label.setFocusable(false);
		label.setText("满行的效果时间:");

		final JSeparator separator_5 = new JSeparator();
		separator_5.setBounds(15, 260, 250, 69);
		add(separator_5);

		stopGameButton.setText("停止游戏");

		stopGameButton.setBounds(10, 10, 101, 23);
		separator_5.add(stopGameButton);
		stopGameButton.setFont(new Font("宋体", Font.PLAIN, 12));
		stopGameButton.setFocusable(false);

		pauseButton.setBounds(135, 10, 103, 23);
		separator_5.add(pauseButton);
		pauseButton.setText("暂停/继续");
		pauseButton.setFont(new Font("宋体", Font.PLAIN, 12));
		pauseButton.setFocusable(false);

		newGameButton.setFont(new Font("宋体", Font.PLAIN, 12));
		newGameButton.setBounds(65, 40, 110, 23);
		separator_5.add(newGameButton);
		newGameButton.setFocusable(false);
		newGameButton.setText("开始新游戏");
		// button_obstacleColor.setVisible(false);
		// button_shapeColor.setVisible(false);

		final JLabel label_logo = czbkIcon == null ? new JLabel() : new JLabel(
				czbkIcon);
		label_logo.setBounds(140, 10, 125, 50);
		add(label_logo);

		final JSeparator separator_6 = new JSeparator();
		separator_6.setBounds(12, 35, 119, 33);
		add(separator_6);

		buttonBackgroundColor = new JButton();
		buttonBackgroundColor.setBounds(5, 5, 110, 23);
		separator_6.add(buttonBackgroundColor);
		buttonBackgroundColor.setFont(new Font("宋体", Font.PLAIN, 12));
		buttonBackgroundColor.setFocusable(false);
		buttonBackgroundColor.setText("设置背景颜色");

		button_default = new JButton();
		button_default.setFont(new Font("宋体", Font.PLAIN, 12));
		button_default.setText("恢复默认设置");
		button_default.setBounds(17, 5, 110, 23);
		button_default.setFocusable(false);
		add(button_default);
	}

	public JFrame getFrame() {
		return frame;
	}

	public void setFrame(JFrame frame) {
		this.frame = frame;
	}

	public int getObstacleNum() {
		try {
			return Integer.parseInt(textField_obstacleNum.getText());
		} catch (NumberFormatException e) {
			return 0;
		}
	}

	public int getStayTime() {
		try {
			return Integer.parseInt(textField_stayTime.getText());
		} catch (NumberFormatException e) {
			return 0;
		}
	}

	public JButton getNewGameButton() {
		return newGameButton;
	}

	public JButton getStopGameButton() {
		return stopGameButton;
	}

	public int getLineNum() {
		try {
			return Integer.parseInt(textField_lineNum.getText());
		} catch (NumberFormatException e) {
			return 0;
		}
	}

	public void setTextField_lineNum(JTextField textField_lineNum) {
		this.textField_lineNum = textField_lineNum;
	}

	public JCheckBox getCheckBox_colorfulShape() {
		return checkBox_colorfulShape;
	}

	public JCheckBox getCheckBox_drawGridding() {
		return checkBox_drawGridding;
	}

	public JTextField getTextField_stayTime() {
		return textField_stayTime;
	}

	public JTextField getTextField_obstacleNum() {
		return textField_obstacleNum;
	}

	public JTextField getTextField_lineNum() {
		return textField_lineNum;
	}

	public boolean isDrawGridding() {

		return checkBox_drawGridding.isSelected();
	}

	public boolean isColorfulShape() {
		return checkBox_colorfulShape.isSelected();
	}

	public boolean isColorfulObstacle() {
		return checkBox_colorfulObstacle.isSelected();
	}

	public ImageIcon getCzbkIcon() {
		return czbkIcon;
	}

	public void setCzbkIcon(ImageIcon czbkIcon) {
		this.czbkIcon = czbkIcon;
	}

	public JButton getPauseButton() {
		return pauseButton;
	}

	public JCheckBox getCheckBox_colorfulObstacle() {
		return checkBox_colorfulObstacle;
	}

	public JButton getButton_obstacleColor() {
		return button_obstacleColor;
	}

	public JButton getButton_griddingColor() {
		return button_griddingColor;
	}

	public JButton getButton_shapeColor() {
		return button_shapeColor;
	}

	public JButton getButton_fullLineColor() {
		return button_fullLineColor;
	}

	public JButton getButtonBackgroundColor() {
		return buttonBackgroundColor;
	}

	public JButton getButton_default() {
		return button_default;
	}

}

⌨️ 快捷键说明

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