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

📄 fanpaiframe.java

📁 本程序是用java实现翻牌程序
💻 JAVA
字号:
package fapai;

import java.awt.*;
import sun.audio.*;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Rectangle;
import javax.swing.BorderFactory;
import java.awt.event.*;
import java.text.*;
import java.io.*;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2008</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class FanPaiFrame extends JFrame {
    JPanel contentPane;
    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu jMenu1 = new JMenu();
    JMenuItem playjMenuItem = new JMenuItem();
    JMenuItem jMenuItem3 = new JMenuItem();
    JMenu jMenu2 = new JMenu();
    JButton startjButton = new JButton();
    JButton gradejButton = new JButton();
    JPanel jPanel1 = new JPanel();
    GridLayout gridLayout1 = new GridLayout();
    public static int ROW = 6;
    public static int COL = 6;
    String name;
    public JButton[][] button = new JButton[ROW][COL];
    JLabel gamejLabel = new JLabel();
    JTextField playerjTextField = new JTextField();
    JLabel timejLabel = new JLabel();
    JTextField timejTextField = new JTextField();
    GridLayout gridLayout2 = new GridLayout();
    JMenu jMenu3 = new JMenu();
    JMenuItem onejMenuItem = new JMenuItem();
    JMenuItem twojMenuItem = new JMenuItem();
    JMenuItem threejMenuItem = new JMenuItem();
    JMenuItem aboutjMenuItem = new JMenuItem();
    JButton resetjButton = new JButton();
    Timer clockTimer;
    JButton playjButton = new JButton();
    JLabel imagejLabel = new JLabel();
    public FanPaiFrame() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }

    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        this.setJMenuBar(jMenuBar1);
        this.setResizable(false);
        setSize(new Dimension(379, 448));
        setTitle("翻牌游戏");
        this.setVisible(true);
        jMenu1.setText("系统");
        playjMenuItem.setActionCommand("player");
        playjMenuItem.setText("玩家");
        playjMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                playjMenuItem_actionPerformed(e);
            }
        });
        jMenuItem3.setActionCommand("exit");
        jMenuItem3.setText("退出");
        jMenuItem3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                //jMenuItemActionListener(e);
                System.exit(0);
            }
        });
        jMenu2.setText("关于");
        //resetjButton.addActionListener(new ButHandler(this));

        startjButton.setBackground(Color.lightGray);
        startjButton.setBounds(new Rectangle(99, 5, 59, 23));
        startjButton.setBorder(null);
        startjButton.setActionCommand("start");
        startjButton.setText("开始");
        //startjButton.addActionListener(new ButHandler(this));
         startjButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
               startjButton_actionPerformed(e);
           }
        });

        gradejButton.setBounds(new Rectangle(181, 5, 63, 23));
        gradejButton.setBorder(BorderFactory.createRaisedBevelBorder());
        gradejButton.setActionCommand("grade");

        gradejButton.setText(" 成绩");
        gradejButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                gradejButton_actionPerformed(e);
            }
        });

        jPanel1.setBackground(Color.black);
        jPanel1.setBounds(new Rectangle(20, 54, 313, 281));
        jPanel1.setLayout(gridLayout2);
        contentPane.setBackground(Color.yellow);
        gridLayout1.setColumns(COL);
        gridLayout1.setRows(ROW);
        gamejLabel.setToolTipText("");
        gamejLabel.setText("玩家:");
        gamejLabel.setBounds(new Rectangle(20, 362, 41, 26));
        playerjTextField.setBorder(BorderFactory.createLoweredBevelBorder());
        playerjTextField.setToolTipText("玩家的姓名");
        playerjTextField.setEditable(false);
        playerjTextField.setText("guest");
        playerjTextField.setBounds(new Rectangle(84, 362, 83, 25));
        timejLabel.setToolTipText("");
        timejLabel.setText("时间:");
        timejLabel.setBounds(new Rectangle(210, 362, 45, 24));
        timejTextField.setForeground(Color.red);
        timejTextField.setBorder(BorderFactory.createLoweredBevelBorder());
        timejTextField.setToolTipText("玩游戏花费的时间");
        timejTextField.setEditable(false);
        timejTextField.setText("00:00:00");
        timejTextField.setBounds(new Rectangle(258, 362, 74, 24));
        gridLayout2.setColumns(COL);
        gridLayout2.setRows(ROW);
        jMenu3.setText("难度");
        onejMenuItem.setActionCommand("one");
        onejMenuItem.setText("一级");
        onejMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                onejMenuItem_actionPerformed(e);
            }
        });
        twojMenuItem.setActionCommand("two");
        twojMenuItem.setText("二级");
        twojMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                twojMenuItem_actionPerformed(e);
            }
        });
        threejMenuItem.setActionCommand("three");
        threejMenuItem.setText("三级");
        threejMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                threejMenuItem_actionPerformed(e);
            }
        });
        aboutjMenuItem.setText("关于");
        aboutjMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                aboutjMenuItem_actionPerformed(e);
                //jMenuItemActionListener(e);

            }
        });
        resetjButton.setBounds(new Rectangle(24, 5, 58, 22));
        resetjButton.setBorder(BorderFactory.createRaisedBevelBorder());
        resetjButton.setToolTipText("点击复位");
        resetjButton.setActionCommand("reset");
        resetjButton.setText("复位");
        resetjButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                resetjButton_actionPerformed();
            }
        });
        playjButton.setBounds(new Rectangle(272, 5, 61, 22));
        playjButton.setActionCommand("play");
        playjButton.setText("音乐");
        playjButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                playjButton_actionPerformed(e);
            }
        });
        imagejLabel.setBounds(new Rectangle(1, 0, 378, 410));
      //  ImageIcon imageIcon = new ImageIcon("D:\\temp\\JBuilder\\src\\com\\yhx\\ibm\\fapai\\1.jpg");
       // imagejLabel.setIcon(imageIcon);
        jMenuBar1.add(jMenu1);
        jMenuBar1.add(jMenu2);
        jMenu1.add(playjMenuItem);
        jMenu1.add(jMenu3);
        jMenu1.add(jMenuItem3);
        contentPane.add(jPanel1);
        contentPane.add(gamejLabel);
        contentPane.add(playerjTextField);
        contentPane.add(timejLabel);
        contentPane.add(timejTextField);
        contentPane.add(resetjButton);
        contentPane.add(startjButton);
        contentPane.add(gradejButton);
        contentPane.add(playjButton);
        contentPane.add(imagejLabel);
        jMenu3.add(onejMenuItem);
        jMenu3.add(twojMenuItem);
        jMenu3.add(threejMenuItem);
        jMenu2.add(aboutjMenuItem);
        addButton();

        ActionListener timeActionListener =
                new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                timeActionPerformed(event);

            }
        };

        clockTimer = new Timer(1000, timeActionListener);

    }

    public void setCol(int col) {
        this.COL = col;
    }

    public void setRow(int row) {
        this.ROW = row;
    }

    private void addButton() {
        for (int i = 0; i < ROW; i++) {
            for (int j = 0; j < COL; j++) {
                name = String.valueOf("" + i + j);
                button[i][j] = new JButton();
                //button[i][j].setText(name);
                button[i][j].setActionCommand(name);
                button[i][j].addActionListener(new ButtonHanler(this));
                button[i][j].setEnabled(false);
                jPanel1.add(button[i][j]);
            }

        }

    }

    public void startjButton_actionPerformed(ActionEvent e) {
        String name = startjButton.getText();
        if (name.equals("暂停")) {
            startjButton.setText("开始");
            for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                    //button[i][j].enable(false);
                    button[i][j].setEnabled(false);
                }
                clockTimer.stop();
            }
        } else if (name.equals("开始")) {
            startjButton.setText("暂停");
            for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                    button[i][j].setEnabled(true);
                }
            }
            clockTimer.start();
        }

    }

    public void resetjButton_actionPerformed() {

        timejTextField.setText("");
        for (int i = 0; i < ROW; i++) {
            for (int j = 0; j < COL; j++) {

                //如果该属性为 true,则按钮将绘制内容区域。如果希望有一个透明的按钮,
                //比如只是一个图标的按钮,那么应该将此属性设置为 false
                button[i][j].setContentAreaFilled(true);
                button[i][j].setBackground(Color.lightGray);
            }
        }
        startjButton.setText("开始");
        for (int i = 0; i < ROW; i++) {
            for (int j = 0; j < COL; j++) {

                button[i][j].setEnabled(false);
            }
            clockTimer.stop();
        }

    }

    public void aboutjMenuItem_actionPerformed(ActionEvent e) {
        //jMenuItemActionListener(e);

        AboutDialog aboutDialog = new AboutDialog(this, "woeo", true);

    }

    public void playjMenuItem_actionPerformed(ActionEvent e) {
        String playername = JOptionPane.showInputDialog("输入名字");
        if (!playername.equals("")) {
            playerjTextField.setText(playername);
        } else {
            playerjTextField.setText("guest");
        }

        //playerjTextField.setText(playername);
    }

    public void twojMenuItem_actionPerformed(ActionEvent e) {
        setCol(8);
        setRow(8);
        FanPei fanPei = new FanPei();
    }

    public void onejMenuItem_actionPerformed(ActionEvent e) {
        setCol(6);
        setRow(6);
        FanPei fanPei = new FanPei();

    }

    public void threejMenuItem_actionPerformed(ActionEvent e) {
        setCol(10);
        setRow(10);
        FanPei fanPei = new FanPei();

    }

    private void timeActionPerformed(ActionEvent event) {
        int secondsInt;
        int minutsInt;
        int hoursInt;
        DecimalFormat timeFormat = new DecimalFormat("00");
        String time = timejTextField.getText().trim();

        if (time.length() > 0) {
            String seconds = time.substring(6);
            String minuts = time.substring(3, 5);
            String hours = time.substring(0, 2);
            secondsInt = Integer.parseInt(seconds);
            minutsInt = Integer.parseInt(minuts);
            hoursInt = Integer.parseInt(hours);
        } else {
            secondsInt = 0; ;
            minutsInt = 0;
            hoursInt = 0;

        }

        if (secondsInt + 1 >= 60) {
            secondsInt = 0;
            if (minutsInt + 1 >= 60) {
                minutsInt = 0;
                hoursInt += 1;
            } else {
                minutsInt += 1;
            }

        } else {
            secondsInt += 1;
        }

        this.timejTextField.setText(timeFormat.format(hoursInt)
                                    + ":" + timeFormat.format(minutsInt) + ":" +
                                    timeFormat.format(secondsInt));

    }

    public void playjButton_actionPerformed(ActionEvent e) {
//        String buttonText =playjButton.getText();
//        if(buttonText.equals("音乐")){
//            playSound("play");
//            playjButton.setText("暂停");
//        }
//       else {
//           playSound("stop");
//           playjButton.setText("音乐");
//       }
        playSound();
    }

    private void playSound() {
        AudioData theData = null;
        //AudioDataStream ads = new AudioDataStream(theData);
        try {

            FileInputStream fis = new FileInputStream(
                    "D:/JBuilder/src/com/yhx/ibm/fapai/MUSIC.AU");
            AudioStream as = new AudioStream(fis);
            theData = as.getData();
            AudioDataStream ads = new AudioDataStream(theData);
            //ContinuousAudioDataStream cads = new ContinuousAudioDataStream(theData);
            //if(code.equals("play"))
            AudioPlayer.player.start(ads);
//        else if (code.equals("stop")){
//            AudioPlayer.player.stop(ads);
//            as =null;
//        }


        } catch (IOException e) {
            System.err.println(e);
        } catch (SecurityException e) {
            System.out.println("security exception");
        }

    }

    public void gradejButton_actionPerformed(ActionEvent e) {
        String grade;
        int NUM=40;
        int i=0;
        String [][] gradeObj= new String [NUM][3];
       StringBuffer content = new StringBuffer();
        try {
            FileReader fileReader = new FileReader(
                    "D:/JBuilder/src/com/yhx/ibm/fapai/result.txt");
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            while ((grade = bufferedReader.readLine())!=null) {
                gradeObj[i++] = grade.split("---");
                content.append(grade);
            }

        } catch (FileNotFoundException ex) {
            System.out.print("读文件时出错了");
        } catch (IOException ex) {
            System.out.print("读文件时出错了");
        }
        //JOptionPane.showMessageDialog(null,content);
        TableFrame tableFrame = new TableFrame(gradeObj);
    }


}

⌨️ 快捷键说明

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