?? createdialog.java
字號:
/*
* 創建日期 2005-4-22
*
* TODO 要更改此生成的文件的模板,請轉至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
package frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Iterator;
import java.util.LinkedList;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
/**
* @author Robert
*
* TODO 要更改此生成的類型注釋的模板,請轉至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
public class CreateDialog extends JFrame implements ActionListener{
private char type;
private PiecesSelect p;
private CreateGame game;
private JDialog options;
private JRadioButton oohc = new JRadioButton("Human vs Computer(1 vs 1)");
private JRadioButton oohh = new JRadioButton("Single play");
private JRadioButton otcc = new JRadioButton("Computer");
private JRadioButton othc = new JRadioButton("Human vs Computer(1 vs 3)");
private JRadioButton blue = new JRadioButton("Blue");
private JRadioButton yellow = new JRadioButton("Yellow");
private JRadioButton red = new JRadioButton("Red");
private JRadioButton green = new JRadioButton("Green");
private JRadioButton one = new JRadioButton("Maximum One Grid Mode");
private JRadioButton two = new JRadioButton("Maximum Two Grids Mode");
private JRadioButton three = new JRadioButton("Maximum Three Grids Mode");
private JRadioButton four = new JRadioButton("Maximum Four Grids Mode");
private JRadioButton five = new JRadioButton("Maximum Five Grids Mode (default)");
private boolean isOohh = true, isOohc = false, isOthc = false, isOtcc = false;
private boolean isOne = false, isTwo = false, isThree = false, isFour = false, isFive = true;
private boolean isComputer = false;
//構造函數
public CreateDialog(char type){
this.type = type;
this.init();
}
//構造函數
public CreateDialog(char type, PiecesSelect p){
this.p = p;
this.type = type;
this.init();
}
//構造函數
public CreateDialog(char type, CreateGame game, PiecesSelect p){
this.game = game;
this.p = p;
this.type = type;
this.init();
}
//初始化函數
private void init(){
switch(type){
case 'e': creatExit();
break;
case 'o': creatOptions();
break;
case 'd': creatEnd();
break;
case 'n': hasNotStart();
break;
case 'h': help();
default:
break;
}
}
//創建退出對話框
private void creatExit(){
int selection = JOptionPane.showConfirmDialog(CreateDialog.this,
"Do you want to really exit?", "Exit",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE);
if(selection == JOptionPane.OK_OPTION)
System.exit(0);
}
//創建設置對話框
private void creatOptions(){
JPanel panel = new JPanel();
JLabel label = new JLabel();
panel.setLayout(new GridLayout(5,1));
oohc.setSelected(false);
othc.setSelected(false);
otcc.setSelected(false);
oohh.setSelected(true);
oohc.addActionListener(this);
othc.addActionListener(this);
oohh.addActionListener(this);
otcc.addActionListener(this);
label.setText("Mode Choose:");
panel.add(label);
panel.add(oohc);
panel.add(othc);
panel.add(otcc);
panel.add(oohh);
int selection = JOptionPane.showConfirmDialog(CreateDialog.this,
panel, "Option",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if(selection == JOptionPane.OK_OPTION)
if(oohc.isSelected() == true){
isOohh = false;
isOohc = true;
isOthc = false;
isOtcc = false;
p.setGameType(1);
creatColorChoose();
}
else if(oohh.isSelected() == true){
isOohh = true;
isOohc = false;
isOthc = false;
isOtcc = false;
p.setGameType(0);
creatColorChoose();
}
else if(othc.isSelected() == true){
isOohh = false;
isOohc = false;
isOthc = true;
isOtcc = false;
p.setGameType(2);
creatColorChoose();
}
else if(otcc.isSelected() == true){
isOohh = false;
isOohc = false;
isOthc = false;
isOtcc = true;
p.setGameType(3);
creatColorChoose();
}
}
//創建顏色選擇對話框
private void creatColorChoose(){
JPanel panel = new JPanel();
JLabel label = new JLabel();
panel.setLayout(new GridLayout(5,1));
if(isOohh == true){
blue.setSelected(true);
yellow.setSelected(true);
red.setSelected(true);
green.setSelected(true);
}
if(isOohc == true){
blue.setSelected(true);
yellow.setSelected(false);
red.setSelected(true);
green.setSelected(false);
}
if(isOthc == true){
blue.setSelected(true);
yellow.setSelected(false);
red.setSelected(false);
green.setSelected(false);
}
if(isOtcc == true){
blue.setEnabled(false);
yellow.setEnabled(false);
red.setEnabled(false);
green.setEnabled(false);
isComputer = true;
}
blue.addActionListener(this);
yellow.addActionListener(this);
red.addActionListener(this);
green.addActionListener(this);
label.setText("Color Choose:");
panel.add(label);
panel.add(blue);
panel.add(yellow);
panel.add(red);
panel.add(green);
int selection = JOptionPane.showConfirmDialog(CreateDialog.this,
panel, "Color",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if(selection == JOptionPane.OK_OPTION){
if(isComputer == true){
p.setBlueC(true);
p.setYellowC(true);
p.setRedC(true);
p.setGreenC(true);
createModchoose();
}else{
if(blue.isSelected() == true)
p.setBlueC(false);
else
p.setBlueC(true);
if(yellow.isSelected() == true)
p.setYellowC(false);
else
p.setYellowC(true);
if(red.isSelected() == true)
p.setRedC(false);
else
p.setRedC(true);
if(green.isSelected() == true)
p.setGreenC(false);
else
p.setGreenC(true);
createModchoose();
}
}
}
private void createModchoose(){
JPanel panel = new JPanel();
JLabel label = new JLabel();
panel.setLayout(new GridLayout(6,1));
if(isOne == true){
one.setSelected(true);
two.setSelected(false);
three.setSelected(false);
four.setSelected(false);
five.setSelected(false);
}
if(isTwo == true){
one.setSelected(false);
two.setSelected(true);
three.setSelected(false);
four.setSelected(false);
five.setSelected(false);
}
if(isThree == true){
one.setSelected(false);
two.setSelected(false);
three.setSelected(true);
four.setSelected(false);
five.setSelected(false);
}
if(isFour == true){
one.setSelected(false);
two.setSelected(false);
three.setSelected(false);
four.setSelected(true);
five.setSelected(false);
}
if(isFive == true){
one.setSelected(false);
two.setSelected(false);
three.setSelected(false);
four.setSelected(false);
five.setSelected(true);
}
label.setText("Color Choose:");
panel.add(label);
panel.add(one);
panel.add(two);
panel.add(three);
panel.add(four);
panel.add(five);
one.addActionListener(this);
two.addActionListener(this);
three.addActionListener(this);
four.addActionListener(this);
five.addActionListener(this);
int selection = JOptionPane.showConfirmDialog(CreateDialog.this,
panel, "PlayMode",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if(selection == JOptionPane.OK_OPTION){
if(isOne == true){
LinkedList b = game.getBluePieces().getImagePieces();
LinkedList y = game.getYellowPieces().getImagePieces();
LinkedList r = game.getRedPieces().getImagePieces();
LinkedList g = game.getGreenPieces().getImagePieces();
Iterator ite = b.iterator();
Pieces temp;
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 1)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = y.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 1)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = r.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 1)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = g.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 1)
temp.setInUse(false);
else
temp.setInUse(true);
}
}else if(isTwo == true){
LinkedList b = game.getBluePieces().getImagePieces();
LinkedList y = game.getYellowPieces().getImagePieces();
LinkedList r = game.getRedPieces().getImagePieces();
LinkedList g = game.getGreenPieces().getImagePieces();
Iterator ite = b.iterator();
Pieces temp;
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 2)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = y.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 2)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = r.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 2)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = g.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 2)
temp.setInUse(false);
else
temp.setInUse(true);
}
}else if(isThree == true){
LinkedList b = game.getBluePieces().getImagePieces();
LinkedList y = game.getYellowPieces().getImagePieces();
LinkedList r = game.getRedPieces().getImagePieces();
LinkedList g = game.getGreenPieces().getImagePieces();
Iterator ite = b.iterator();
Pieces temp;
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 3)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = y.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 3)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = r.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 3)
temp.setInUse(false);
else
temp.setInUse(true);
}
ite = g.iterator();
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 3)
temp.setInUse(false);
else
temp.setInUse(true);
}
}else if(isFour == true){
LinkedList b = game.getBluePieces().getImagePieces();
LinkedList y = game.getYellowPieces().getImagePieces();
LinkedList r = game.getRedPieces().getImagePieces();
LinkedList g = game.getGreenPieces().getImagePieces();
Iterator ite = b.iterator();
Pieces temp;
while(ite.hasNext()){
temp = (Pieces)ite.next();
if(temp.getScore() > 4)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -