2015年4月24日 星期五

2015.04.24 4*4 顯示數字

4*4 顯示數字

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator2 implements ActionListener {
    public static void main(String[] args) {
        new Calculator2();
    }
public Calculator2() {
JFrame window=new JFrame("Calculator2");

window.setDefaultLookAndFeelDecorated(true);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(new GridLayout(4,4));
JPanel jplPanel = new JPanel();
jplPanel.setLayout(new GridLayout(4,4));
JButton button[]=new JButton[17];
for (int i = 1; i <= 16; i++)
{
button[i] = new JButton();
button[i].setSize(50,50);
button[i].setText(Integer.toString(i));
button[i].addActionListener(this);
jplPanel.add(button[i]);
}
button[1].setActionCommand("d1");
button[2].setActionCommand("d2");
button[3].setActionCommand("d3");
button[4].setActionCommand("d4");
button[5].setActionCommand("d5");
button[6].setActionCommand("d6");
button[7].setActionCommand("d7");
button[8].setActionCommand("d8");
button[9].setActionCommand("d9");
button[10].setActionCommand("d10");
button[11].setActionCommand("d11");
button[12].setActionCommand("d12");
button[13].setActionCommand("d13");
button[14].setActionCommand("d14");
button[15].setActionCommand("d15");
button[16].setActionCommand("d16");
window.getContentPane().add(jplPanel, BorderLayout.CENTER);
window.setSize(500,500);
window.setVisible(true);
}
 public void actionPerformed(ActionEvent e) {
 String cmd = e.getActionCommand();
String cmd2 = e.getActionCommand();
String cmd3 = e.getActionCommand();
String cmd4 = e.getActionCommand();
String cmd5 = e.getActionCommand();
String cmd6 = e.getActionCommand();
String cmd7 = e.getActionCommand();
String cmd8 = e.getActionCommand();
String cmd9 = e.getActionCommand();
String cmd10 = e.getActionCommand();
String cmd11 = e.getActionCommand();
String cmd12 = e.getActionCommand();
String cmd13 = e.getActionCommand();
String cmd14 = e.getActionCommand();
String cmd15 = e.getActionCommand();
String cmd16 = e.getActionCommand();
        if (cmd == "d1") {
            System.out.println("1");
        }
 if (cmd2 == "d2") {
            System.out.println("2");
        }
 if (cmd3 == "d3") {
            System.out.println("3");
        }
 if (cmd4 == "d4") {
            System.out.println("4");
        }
 if (cmd5 == "d5") {
            System.out.println("5");
        }
 if (cmd6 == "d6") {
            System.out.println("6");
        }
 if (cmd7 == "d7") {
            System.out.println("7");
        }
 if (cmd8 == "d8") {
            System.out.println("8");
        }
 if (cmd9 == "d9") {
            System.out.println("9");
        }
 
if (cmd10 == "d10") {
            System.out.println("10");
        }
 
if (cmd11 == "d11") {
            System.out.println("11");
    }
if (cmd12 == "d12") {
            System.out.println("12");
    }
if (cmd13 == "d13") {
            System.out.println("13");
    }
if (cmd14 == "d14") {
            System.out.println("14");
    }
if (cmd15 == "d15") {
            System.out.println("15");
    }
if (cmd16 == "d16") {
            System.out.println("16");
        }
    }
}

class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

2015年4月17日 星期五

2015.04.17-5 數字推盤

 數字推盤


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Piece extends JFrame
{
        //放數字九官格
        private String [][] box = new String[][]{{"1","2","3"},
                                                {"4","5","6"},
                                                {"7","8"," "}};
        private keyLis kl = new keyLis();//鍵盤事件
        private ButtonHandler bh = new ButtonHandler();//功能表單事件
        private final int LEFT = 37,UP = 38, RIGHT = 39, DOWN = 40;
        private JLabel [] jl = new JLabel [9];
        private JMenuBar jmb;
        private JMenu game = new JMenu("遊戲");;
        private JMenuItem [] gm = new JMenuItem[3];
        private boolean isStart = false; //遊戲開始
     
        //初始化遊戲變數值
        private String[][] init()
        {
                final int ROW = 3, COL = 3;
                String [][] boxTemp = new String[][]{{"1","2","3"},
                                                     {"4","5","6"},
                                                     {"7","8"," "}};
             
                //用亂數打亂數字的排列
                for(int count = 0; count < 200; count++)
                {
                        String temp = " ";
                        int [] zero = null;
                        int ranNum = (int)(Math.random()*4)+LEFT;
                                             
                        zero = getZero(boxTemp);  //取得0的位置
                        switch(ranNum)
                        {
                                case LEFT: //左移
                                        if(zero[1]+1<boxTemp[zero[0]].length)
                                        {
                                                temp = boxTemp[zero[0]][zero[1]+1];
                                                boxTemp[zero[0]][zero[1]+1] = " ";
                                        }
                                        break;
                                case UP: //上移
                                        if(zero[0]+1<boxTemp.length)
                                        {
                                                temp = boxTemp[zero[0]+1][zero[1]];
                                                boxTemp[zero[0]+1][zero[1]] = " ";
                                        }                                    
                                        break;
                                case RIGHT: //右移
                                        if(zero[1]-1 >= 0)
                                        {
                                                temp = boxTemp[zero[0]][zero[1]-1];
                                                boxTemp[zero[0]][zero[1]-1] = " ";
                                        }    
                                        break;
                                case DOWN: //下移
                                        if(zero[0]-1 >= 0)
                                        {
                                                temp = boxTemp[zero[0]-1][zero[1]];
                                                boxTemp[zero[0]-1][zero[1]] = " ";
                                        }                                                                                    
                                        break;
                                default:            
                        }
                        boxTemp[zero[0]][zero[1]] = temp;
                }

                return boxTemp;
        }
     
        //取得0的位置
        private int [] getZero(String [][] boxArr)
        {
                        int location[] = new int[2];
                     
                        for(int r = 0; r < boxArr.length; r++)
                        {
                                for(int c = 0; c < boxArr[r].length; c++)
                                {
                                        //取得數字0的位置
                                        if(boxArr[r][c].equals(" "))
                                        {
                                                location[0] = r;  //" "的x位置
                                                location[1] = c;  //" "的y位置
                                        }
                                }
                        }
                     
                        return location;
        }
     
        public Piece()
        {
                super("數字拼圖");
                Container c = getContentPane();
                c = this.getContentPane();
                jmb = new JMenuBar();
                this.setJMenuBar(jmb); //加入工具列
             
                //遊戲的選擇項目
                jmb.add(game);
                gm[0] = new JMenuItem("新局");
                gm[1] = new JMenuItem("放棄");
                gm[2] = new JMenuItem("結束遊戲");
                game.add(gm[0]);
                game.add(gm[1]);
                game.addSeparator();
                game.add(gm[2]);
                gm[1].setEnabled(false);
             
                         
                //數字的排為3*3
                c.setLayout(new GridLayout(3,3));
             
                for(int i = 0; i < jl.length; i++)
                {
                        jl[i] = new JLabel("  "+box[i/box.length][i%box.length]);
                        jl[i].setFont(new Font("Serif",Font.BOLD,40));
                        c.add(jl[i]);
                }
             
                //設定視窗
                setSize(200,200);
                setLocation(300,250);
                setResizable(false);//視窗放大按鈕無效
                setVisible(true);
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                     
                //註冊功能表單傾聽者
                for(int m=0;m<gm.length;m++)
                        gm[m].addActionListener(bh);
         
             
                //註冊鍵盤傾聽者
                this.addKeyListener(kl);
        }
     
        //鍵盤事件處理
        private class keyLis implements KeyListener
        {
                public void keyPressed(KeyEvent e)
                {
                        if(isStart == true)
                        {
                                String temp = " ";
                                int [] zero = null;
                     
                                zero = getZero(box);  //取得" "的位置

                                switch(e.getKeyCode())
                                {
                                        case LEFT: //按左鍵
                                                if(zero[1]+1<box[zero[0]].length)
                                        {
                                                temp = box[zero[0]][zero[1]+1];
                                                box[zero[0]][zero[1]+1] = " ";
                                                }
                                                break;
                                        case UP: //按上鍵
                                                if(zero[0]+1<box.length)
                                                {
                                                        temp = box[zero[0]+1][zero[1]];
                                                        box[zero[0]+1][zero[1]] = " ";
                                                }                                    
                                                break;
                                        case RIGHT: //按右鍵
                                                if(zero[1]-1 >= 0)
                                                {
                                                        temp = box[zero[0]][zero[1]-1];
                                                        box[zero[0]][zero[1]-1] = " ";
                                                }    
                                                break;
                                        case DOWN: //按下鍵
                                                if(zero[0]-1 >= 0)
                                                {
                                                        temp = box[zero[0]-1][zero[1]];
                                                        box[zero[0]-1][zero[1]] = " ";
                                                }                                                                                    
                                                break;
                                        default:            
                                }
                                box[zero[0]][zero[1]] = temp;
                     
                                //更新數字顯示的位置
                                for(int i=0; i< jl.length; i++)
                                        jl[i].setText("  "+box[i/box.length][i%box.length]);
                             
                                //判斷是否過關
                                if(box[0][0].equals("1") && box[0][1].equals("2") &&
                                         box[0][2].equals("3") && box[1][0].equals("4") &&
                                         box[1][1].equals("5") && box[1][2].equals("6") &&
                                         box[2][0].equals("7") && box[2][1].equals("8") &&
                                         box[2][2].equals(" ")
                                         )
                                         {
                                                  JOptionPane.showMessageDialog(null, "過關了!!", "訊息",
                                                  JOptionPane.INFORMATION_MESSAGE);
                                               
                                                  //判斷是否再玩一次
                                                  if(JOptionPane.showConfirmDialog(null, "再玩一次?", "訊息",
                                                                          JOptionPane.YES_NO_OPTION) == 0
                                                           )
                                                  {
                                                           box = init();                                        
                                                         for(int i=0; i< jl.length; i++)//更新數字顯示的位置
                                               jl[i].setText("  "+box[i/box.length][i%box.length]);
                                                  }
                                                  else System.exit(0);  //結束遊戲
                                         }
                                }
                        }
             
                public void keyReleased(KeyEvent e){}    
                public void keyTyped(KeyEvent e){}
        }
     
        //功能表單事件處理
        private class ButtonHandler implements  ActionListener
        {
                public void actionPerformed(ActionEvent ae)
                {                    
                        if(ae.getSource() == gm[0]) //新局
                        {
                                box = init();                                        
                                for(int i=0; i< jl.length; i++)//更新數字顯示的位置
                                        jl[i].setText("  "+box[i/box.length][i%box.length]);
                                isStart = true;
                                gm[1].setEnabled(true);
                        }
                        else if(ae.getSource() == gm[1]) //放棄
                        {
                                isStart = false;
                    for(int i=0; i< jl.length; i++)//初始化數字顯示的位置
                                {
                                        box[i/box.length][i%box.length] = Integer.toString(i+1);
                                        if(box[i/box.length][i%box.length].equals("9")) box[i/box.length][i%box.length] = " ";
                                        jl[i].setText("  "+box[i/box.length][i%box.length]);
                                }
                             
                        }
                        else if(ae.getSource() == gm[2]) //結束遊戲
                        {
                                System.exit(0);
                        }
                }
        }
     
        public static void main(String [] args)
        {
                new Piece();
        }
}

2015.04.17-4 按鈕顯示123

按鈕顯示123

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator2 implements ActionListener {
    public static void main(String[] args) {
        new Calculator2();
    }
public Calculator2() {
JFrame window=new JFrame("Calculator2");

window.setDefaultLookAndFeelDecorated(true);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(new GridLayout(3,3));
JPanel jplPanel = new JPanel();
jplPanel.setLayout(new GridLayout(3,3));
JButton button[]=new JButton[10];
for (int i = 1; i <= 9; i++)
{
button[i] = new JButton();
button[i].setSize(50,50);
button[i].setText(Integer.toString(i));
button[i].addActionListener(this);
jplPanel.add(button[i]);
}
button[1].setActionCommand("d1");
button[2].setActionCommand("d2");
button[3].setActionCommand("d3");
button[4].setActionCommand("d4");
button[5].setActionCommand("d5");
button[6].setActionCommand("d6");
button[7].setActionCommand("d7");
button[8].setActionCommand("d8");
button[9].setActionCommand("d9");
window.getContentPane().add(jplPanel, BorderLayout.CENTER);
window.setSize(500,500);
window.setVisible(true);
}
 public void actionPerformed(ActionEvent e) {
        String cmd = e.getActionCommand();
String cmd2 = e.getActionCommand();
String cmd3 = e.getActionCommand();
String cmd4 = e.getActionCommand();
String cmd5 = e.getActionCommand();
String cmd6 = e.getActionCommand();
String cmd7 = e.getActionCommand();
String cmd8 = e.getActionCommand();
String cmd9 = e.getActionCommand();
        if (cmd == "d1") {
            System.out.println("1");
        }
 if (cmd2 == "d2") {
            System.out.println("2");
        }
 if (cmd3 == "d3") {
            System.out.println("3");
        }
 if (cmd4 == "d4") {
            System.out.println("4");
        }
 if (cmd5 == "d5") {
            System.out.println("5");
        }
 if (cmd6 == "d6") {
            System.out.println("6");
        }
 if (cmd7 == "d7") {
            System.out.println("7");
        }
 if (cmd8 == "d8") {
            System.out.println("8");
        }
 if (cmd9 == "d9") {
            System.out.println("9");
        }
    }

}

class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}



2015.04.17-3 按鈕顯示yes

按鈕顯示yes

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator2 implements ActionListener { public static void main(String[] args) { new Calculator2(); } public Calculator2() { JFrame window=new JFrame("Calculator2"); window.setDefaultLookAndFeelDecorated(true); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setLayout(new GridLayout(3,3)); JPanel jplPanel = new JPanel(); jplPanel.setLayout(new GridLayout(3,3)); JButton button[]=new JButton[10]; for (int i = 1; i <= 9; i++) { button[i] = new JButton(); button[i].setSize(50,50); button[i].setText(Integer.toString(i)); button[i].setActionCommand("d1"); button[i].addActionListener(this); jplPanel.add(button[i]); } window.getContentPane().add(jplPanel, BorderLayout.CENTER); window.setSize(500,500); window.setVisible(true); } public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (cmd == "d1") { System.out.println("Yes...."); } } } class AdapterDemo extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } }



2015.04.17-2 螢幕顯示 yes

螢幕顯示 yes

import java.awt.*; import java.awt.event.*; public class ActionEventDemo implements ActionListener { public static void main(String[] args) { new ActionEventDemo(); } public ActionEventDemo() { Frame frame = new Frame("AWTDemo"); frame.addWindowListener(new AdapterDemo()); frame.setLayout(new FlowLayout()); Button button = new Button("demo"); button.setActionCommand("d1"); button.addActionListener(this); frame.add(button); frame.pack(); frame.setVisible(true); } public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (cmd == "d1") { System.out.println("Yes"); } } } class AdapterDemo extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } }



2015.04.17-1 3*3按鈕

3*3按鈕
import javax.swing.*; import java.awt.*; public class jtest { JButton btn[][]; JFrame mainFrame; JPanel panel; public jtest() { panel = new JPanel(new GridLayout(3, 3)); btn = new JButton[3][3]; for (int x = 0; x < 3; x++) { for (int y = 0; y < 3; y++) { //產生JButton實體物件 btn[x][y] = new JButton(x + "," + y); panel.add(btn[x][y]); } } mainFrame = new JFrame("JButton Array"); mainFrame.getContentPane().add(panel); mainFrame.pack(); mainFrame.setVisible(true); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new jtest(); } }





2015年4月10日 星期五

2015.04.10- 4種按鈕範例

2015.04.10
1. Button

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Test
{


public static void main(String[] args)
{
JFrame jtfMainFrame = new JFrame("Which Button Demo");
jtfMainFrame.setSize(450, 150);
JButton  jbnButton1 = new JButton("Button 1");
JPanel jplPanel = new JPanel();
jplPanel.add(jbnButton1);
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
System.out.print("chia-ning hsu");
}
}











2.9個按鈕

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class TEST
{


public static void main(String[] args)

{
JFrame jtfMainFrame = new JFrame("Which Button Demo");
jtfMainFrame.setSize(450, 150);
JButton  jbnButton1 = new JButton("Button 1");
JButton  jbnButton2 = new JButton("Button 2");
JButton  jbnButton3 = new JButton("Button 3");
JButton  jbnButton4 = new JButton("Button 4");
JButton  jbnButton5 = new JButton("Button 5");
JButton  jbnButton6 = new JButton("Button 6");
JButton  jbnButton7 = new JButton("Button 7");
JButton  jbnButton8 = new JButton("Button 8");
JButton  jbnButton9 = new JButton("Button 9");
JPanel jplPanel = new JPanel();
jplPanel.add(jbnButton1);
jplPanel.add(jbnButton2);
jplPanel.add(jbnButton3);
jplPanel.add(jbnButton4);
jplPanel.add(jbnButton5);
jplPanel.add(jbnButton6);
jplPanel.add(jbnButton7);
jplPanel.add(jbnButton8);
jplPanel.add(jbnButton9);
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
System.out.print("chia-ning hsu");
}

}


3.9個按鈕顯示數字

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class TEST
{


public static void main(String[] args)

{
JFrame jtfMainFrame = new JFrame("Which Button Demo");
jtfMainFrame.setSize(450, 150);

JButton  jbnButton1 = new JButton("1");

jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("1");
}
});


JButton  jbnButton2 = new JButton("2");

jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("2");
}
});


JButton  jbnButton3 = new JButton("3");

jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("3");
}
});


JButton  jbnButton4 = new JButton("4");

jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("4");
}
});


JButton  jbnButton5 = new JButton("5");

jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("5");
}
});
JButton  jbnButton6 = new JButton("6");
jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("6");
}
});
JButton  jbnButton7 = new JButton("7");
jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("7");
}
});
JButton  jbnButton8 = new JButton("8");
jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("8");
}
});
JButton  jbnButton9 = new JButton("9");
jbnButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("9");
}
});
JPanel jplPanel = new JPanel();
jplPanel.add(jbnButton1);
jplPanel.add(jbnButton2);
jplPanel.add(jbnButton3);
jplPanel.add(jbnButton4);
jplPanel.add(jbnButton5);
jplPanel.add(jbnButton6);
jplPanel.add(jbnButton7);
jplPanel.add(jbnButton8);
jplPanel.add(jbnButton9);
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
System.out.print("chia-ning hsu");
}

}

4.for loop

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame{
public static void main(String[]args){
JFrame window=new JFrame("Calculator");
JPanel jplPanel = new JPanel();
JButton button[]=new JButton[10];
for(int i=0;i<button.length;i++){
button[i] = new JButton();
button[i].setSize(50,50);
button[i].setText(Integer.toString(i+1));
jplPanel.add(button[i]);

}

window.getContentPane().add(jplPanel, BorderLayout.CENTER);
window.setSize(500,500);
window.setVisible(true);

}}