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

📄 optionframe.java

📁 BravePiglet.rar 勇敢的猪Java游戏 由本人原创
💻 JAVA
字号:
package com.lovo.pig.view;

/**
 * 游戏设置界面
 */
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

import com.lovo.pig.control.SettingCtrl;
import com.lovo.pig.util.Images;

public class OptionFrame extends JFrame {
	private static final long serialVersionUID = -6493861286969478831L;
	Images images;
	SettingCtrl  setting ;
	
	JLabel lblBackImg = new JLabel();
	JPanel jplCtrlSetting = new JPanel();
	
	JLabel lblFire = new JLabel("fire");
	JLabel lblUp = new JLabel("up");
	JLabel lblDown = new JLabel("down");
	JLabel lblLevel = new JLabel("level");
	
	JTextField txtFire = new JTextField(10);
	JTextField txtUp = new JTextField(10);
	JTextField txtDown = new JTextField(10);
	
	ButtonGroup btnGroup = new ButtonGroup();
	JRadioButton rbtnEasy = new JRadioButton("easy");
	JRadioButton rbtnNormal = new JRadioButton("normal");
	JRadioButton rbtnHard = new JRadioButton("hard");
	
	JButton btnBack = new JButton("<<Save&Back"); 
	JButton btnStart  = new JButton("Save&Start>>");
	
	public OptionFrame() {
		this.setSize(720,570);
		this.setTitle("Options");
		this.setResizable(false);
		this.setLocationRelativeTo(null);
		this.setLayout(null);
		
		//窗口关闭时返回菜单窗口
		this.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e) {
				OptionFrame.this.dispose();
				new MenuFrame();
			}
		});
		
		images = Images.getImages();
		setting = SettingCtrl.getSettingCtrl();
		
		lblBackImg.setIcon(new ImageIcon(images.getImgOptionBk()));
		lblBackImg.setBounds(0,0,426,570);
		this.getContentPane().add(lblBackImg);
		
		jplCtrlSetting.setBounds(426, 0, 294, 570);
		jplCtrlSetting.setBackground(Color.BLACK);
		jplCtrlSetting.setLayout(null);
		
		lblFire.setFont(new Font("Monospaced", Font.PLAIN, 40));
		lblUp.setFont(new Font("Monospaced", Font.PLAIN, 40));
		lblDown.setFont(new Font("Monospaced", Font.PLAIN, 40));
		lblLevel.setFont(new Font("Monospaced", Font.PLAIN, 40));
		
		lblFire.setBounds(0,100,80,40);
		lblUp.setBounds(0,200,80,40);
		lblDown.setBounds(0,300,80,40);
		lblLevel.setBounds(0, 400, 100, 40);
		
		txtFire.setBounds(100,110,80,20);
		txtUp.setBounds(100,210,80,20);
		txtDown.setBounds(100,310,80,20);
		btnBack.setBounds(150,500,120,20);
		btnBack.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				save();
				OptionFrame.this.dispose();
				new MenuFrame();
			}
		});
		btnBack.setMnemonic('b');
		btnStart.setBounds(0,500,120,20);
		btnStart.setMnemonic('s');
		btnStart.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				save();
				OptionFrame.this.dispose();
				new MainFrame();
			}
		});
		
		String fireTips = setting.getFireKey();
		if(fireTips.equals(" ")){
			fireTips = " ";
		}else{
			fireTips = ""+setting.getFireKey().charAt(0);
		}
		txtFire.setText(fireTips);
		txtUp.setText(""+setting.getUpKey().charAt(0));
		txtDown.setText(""+setting.getDownKey().charAt(0));
		
		rbtnEasy.setBounds(100,354,80,20);
		rbtnNormal.setBounds(100,400,90,20);
		rbtnHard.setBounds(100,443,80,20);
		btnGroup.add(rbtnEasy);
		btnGroup.add(rbtnNormal);
		btnGroup.add(rbtnHard);
		rbtnEasy.setOpaque(false);
		rbtnNormal.setOpaque(false);
		rbtnHard.setOpaque(false);
		rbtnEasy.setFont(new Font("Monospaced", Font.PLAIN, 20));
		rbtnNormal.setFont(new Font("Monospaced", Font.PLAIN, 20));
		rbtnHard.setFont(new Font("Monospaced", Font.PLAIN, 20));
		
		if(setting.getLevel() == 1){
			rbtnEasy.setSelected(true);
		}else if(setting.getLevel() == 2){
			rbtnNormal.setSelected(true);
		}else if(setting.getLevel() == 3){
			rbtnHard.setSelected(true);
		}
		
		jplCtrlSetting.add(lblFire);
		jplCtrlSetting.add(txtFire);
		jplCtrlSetting.add(lblUp);
		jplCtrlSetting.add(txtUp);
		jplCtrlSetting.add(lblDown);
		jplCtrlSetting.add(txtDown);
		jplCtrlSetting.add(btnBack);
		jplCtrlSetting.add(btnStart);
		jplCtrlSetting.add(lblLevel);
		jplCtrlSetting.add(rbtnEasy);
		jplCtrlSetting.add(rbtnNormal);
		jplCtrlSetting.add(rbtnHard);
		this.getContentPane().add(jplCtrlSetting);
		
		this.setVisible(true);
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new OptionFrame();
	}
	
	private void save(){
		//快捷键不能相同
		if(txtFire.getText().equals("")|| txtUp.getText().equals("")||txtDown.getText().equals("")){
			JOptionPane.showMessageDialog(this, "Hot Key Could not be NULL","Invalid Values",JOptionPane.INFORMATION_MESSAGE);
		}else if(txtFire.getText().charAt(0) == txtUp.getText().charAt(0)||
				txtFire.getText().charAt(0) == txtDown.getText().charAt(0)||
				   txtUp.getText().charAt(0) == txtDown.getText().charAt(0)
				){
			JOptionPane.showMessageDialog(this,"Hot Key Could Not Have the Same Value ","Invalid Values",JOptionPane.INFORMATION_MESSAGE);
			return;
		}
		if(!txtFire.getText().equals("")){
			if(txtFire.getText().equals(" ")){//空格
				setting.setFireKey(" ");
			}else{
				setting.setFireKey(txtFire.getText().trim());
			}	
		}
		if(!txtUp.getText().equals("")){
			if(txtUp.getText().equals(" ")){//空格
				setting.setFireKey(" ");
			}else{
				setting.setUpKey(txtUp.getText().trim());
			}	
		}
		if(!txtDown.getText().equals("")){
			if(txtDown.getText().equals(" ")){//空格
				setting.setFireKey(" ");
			}else{
				setting.setDownKey(txtDown.getText().trim());
			}	
		}
		if(rbtnEasy.isSelected()){
			setting.setLevel(1);
		}else if(rbtnNormal.isSelected()){
			setting.setLevel(2);
		}else if(rbtnHard.isSelected()){
			setting.setLevel(3);
		}
	}
}

⌨️ 快捷键说明

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