返回列表 發帖
  1. package bbs.istak.org.tw;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;
  5. import java.awt.event.MouseAdapter;
  6. import java.awt.event.MouseEvent;

  7. import javax.swing.ImageIcon;
  8. import javax.swing.JFrame;
  9. import javax.swing.JPanel;
  10. import javax.swing.border.EmptyBorder;
  11. import javax.swing.JLabel;

  12. public class PtSC extends JFrame {

  13.         private JPanel contentPane;
  14.         private static ImageIcon icon;
  15.         private ImageIcon poker[] = new ImageIcon [12];
  16.         private int num[] = new int [12];
  17.         private ImageIcon answer[] = new ImageIcon [12];
  18.         private JLabel larray[] = new JLabel [12];

  19.         /**
  20.          * Launch the application.
  21.          */
  22.         public static void main(String[] args) {
  23.                 EventQueue.invokeLater(new Runnable() {
  24.                         public void run() {
  25.                                 try {
  26.                                         PtSC frame = new PtSC();
  27.                                         frame.setVisible(true);
  28.                                 } catch (Exception e) {
  29.                                         e.printStackTrace();
  30.                                 }
  31.                         }
  32.                 });
  33.         }

  34.         /**
  35.          * Create the frame.
  36.          */
  37.         public PtSC() {
  38.                 icon = new ImageIcon(PtSC.class.getResource("star.png"));
  39.                         Image imgicon = icon.getImage().getScaledInstance(128,128,java.awt.Image.SCALE_FAST );
  40.       
  41.         
  42.                                 this.setIconImage(imgicon);
  43.                           larray = new JLabel [12];
  44.                 poker = new ImageIcon[12];
  45.                 answer = new ImageIcon[12];
  46.                
  47.                
  48.                  
  49.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  50.                 setBounds(100, 100, 620, 462);
  51.                 contentPane = new JPanel();
  52.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  53.                 setContentPane(contentPane);
  54.                 contentPane.setLayout(null);
  55.                
  56.                 JLabel label_0 = new JLabel(pokercard(0));
  57.                 label_0.setBounds(10, 10, 128, 128);
  58.                 contentPane.add(label_0);
  59.                 larray[0] = label_0;
  60.                
  61.                 JLabel label_1 = new JLabel(pokercard(1));
  62.                 label_1.setBounds(148, 10, 128, 128);
  63.                 contentPane.add(label_1);
  64.                 larray[1] = label_1;
  65.                
  66.                 JLabel label_2 = new JLabel(pokercard(2));
  67.                 label_2.setBounds(286, 10, 128, 128);
  68.                 contentPane.add(label_2);
  69.                 larray[2] = label_2;
  70.                
  71.                 JLabel label_3 = new JLabel(pokercard(3));
  72.                 label_3.setBounds(424, 10, 128, 128);
  73.                 contentPane.add(label_3);
  74.                 larray[3] = label_3;
  75.                
  76.                 JLabel label_4 = new JLabel(pokercard(4));
  77.                 label_4.setBounds(10, 149, 128, 128);
  78.                 contentPane.add(label_4);
  79.                 larray[4] = label_4;
  80.                
  81.                 JLabel label_5 = new JLabel(pokercard(5));
  82.                 label_5.setBounds(148, 149, 128, 128);
  83.                 contentPane.add(label_5);
  84.                 larray[5] = label_5;
  85.                
  86.                 JLabel label_6 = new JLabel(pokercard(6));
  87.                 label_6.setBounds(286, 149, 128, 128);
  88.                 contentPane.add(label_6);
  89.                 larray[6] = label_6;
  90.                
  91.                 JLabel label_7 = new JLabel(pokercard(7));
  92.                 label_7.setBounds(424, 149, 128, 128);
  93.                 contentPane.add(label_7);
  94.                 larray[7] = label_7;
  95.                
  96.                 JLabel label_8 = new JLabel(pokercard(8));
  97.                 label_8.setBounds(10, 286, 128, 128);
  98.                 contentPane.add(label_8);
  99.                 larray[8] = label_8;
  100.                
  101.                 JLabel label_9 = new JLabel(pokercard(9));
  102.                 label_9.setBounds(148, 286, 128, 128);
  103.                 contentPane.add(label_9);
  104.                 larray[9] = label_9;  
  105.                
  106.                 JLabel label_10 = new JLabel(pokercard(10));
  107.                 label_10.setBounds(286, 286, 128, 128);
  108.                 contentPane.add(label_10);
  109.                 larray[10] = label_10;
  110.                
  111.                 JLabel label_11 = new JLabel(pokercard(11));
  112.                 label_11.setBounds(424, 286, 128, 128);
  113.                 contentPane.add(label_11);
  114.                 larray[11] = label_11;
  115.                
  116.                 icon = new ImageIcon(PtSC.class.getResource("return.png"));
  117.         Image bimg = icon.getImage().getScaledInstance(33,33,java.awt.Image.SCALE_FAST );
  118.         ImageIcon back = new ImageIcon(bimg);
  119.                
  120.                 JLabel labelreset = new JLabel(back);
  121.                 labelreset.setBounds(562, 10, 33, 33);
  122.                 contentPane.add(labelreset);
  123.                
  124.                
  125.                 num = new int [12];
  126.                 for(int i = 0 ; i < num.length ; i++){
  127.                         num[i] = (int) (Math.random()*12);
  128.                         for(int j = 0 ; j < i ; j++){
  129.                                 if(num[i] == num[j]){
  130.                                               i--;
  131.                                               break;
  132.                                        
  133.                                  }
  134.                          }
  135.                 }
  136.                 for (int k = 0 ; k < num.length ; k++){
  137.                
  138.                      System.out.println(num[k]);               
  139.                
  140.                 }
  141.                
  142.                 backcard(num);
  143.                 AddListener();
  144.                
  145.         }

  146.         private ImageIcon  pokercard (int  n){
  147.                
  148.                 poker = new ImageIcon[12];
  149.                 icon = new ImageIcon(PtSC.class.getResource("0.png"));
  150.                 Image andimg = icon.getImage().getScaledInstance(128,128,java.awt.Image.SCALE_FAST );
  151.                 ImageIcon andriod = new ImageIcon(andimg);
  152.                
  153.                         for(int a = 0 ; a < poker.length ; a++){
  154.                
  155.                         poker[a] = andriod;
  156.                
  157.                         }
  158.                         return poker[n];               
  159.                
  160.         }
  161.         
  162.         private void  backcard (int[] num){
  163.         
  164.                 for(int x = 1 ; x <= 6 ; x++){
  165.                
  166.                  icon = new ImageIcon(PtSC.class.getResource(String.format("%d.png", x)));
  167.                 Image img = icon.getImage().getScaledInstance(128,128,java.awt.Image.SCALE_FAST );
  168.                 ImageIcon answercard = new ImageIcon(img);
  169.                
  170.                 answer[num[x-1]] = answercard;
  171.                 answer[num[x+5]] = answercard;
  172.                
  173.             }
  174.         }
  175.         
  176.         private void AddListener(){
  177.         
  178.         for(int i = 0 ; i < larray.length ; i++)
  179.                
  180.                 larray[i].addMouseListener(adapter);
  181.         
  182.         }
  183.         ImageIcon temp1;
  184.         int location;
  185.         boolean first = true;
  186.         MouseAdapter adapter=new MouseAdapter(){
  187.             @Override
  188.     public void mouseClicked(MouseEvent e)
  189.     {
  190.            
  191.             for(int i=0; i<12; i++)
  192.          {
  193.                    
  194.                  if(e.getSource()==larray[i] && first == true) {
  195.                        
  196.                          larray[i].setIcon(answer[i]);
  197.                          temp1 = answer[i];
  198.                          location = i;
  199.                          first = false;
  200.                          System.out.println("first");
  201.                          break;
  202.                  }
  203.                  else if (e.getSource()==larray[i] && first == false){         
  204.                          System.out.println("second");
  205.                          if(temp1 != larray[i].getIcon()){
  206.                                  
  207.                                  larray[i].setIcon(poker[i]);larray[location].setIcon(poker[location]);
  208.                                  
  209.                          }
  210.                          
  211.                          first = true;
  212.                          break;
  213.                         
  214.                  }
  215.                        
  216.          }
  217.     }
  218. };

  219.    
  220. }
複製代碼

TOP

返回列表