《java课程设计》之猜猜看游戏(二)

来源:互联网 发布:php oa系统流程 编辑:程序博客网 时间:2024/04/25 19:11
import java.awt.EventQueue;    import javax.imageio.ImageIO;    import javax.swing.JFrame;    import javax.swing.JPanel;    import javax.swing.border.EmptyBorder;    import javax.swing.AbstractButton;    import javax.swing.ImageIcon;    import javax.swing.JButton;    import javax.swing.JFileChooser;    import javax.swing.JOptionPane;    import javax.swing.JTextField;    import javax.swing.JLabel;    import java.awt.Color;    import java.awt.Graphics;    import java.awt.Image;    import java.awt.SystemColor;    import java.awt.event.ActionListener;    import java.awt.event.ActionEvent;    import java.awt.event.MouseAdapter;    import java.awt.event.MouseEvent;    import java.io.File;    import java.io.FileFilter;    import java.io.IOException;    import java.util.Random;        public class zst1 extends JFrame {        /**   *   */        private static final long serialVersionUID = 1L;            private JPanel contentPane;        private JTextField tfDir;        private JTextField tfClass;        File[] fileArray; // 文件夹下所有文件        int NUM_IMG = 0; // 文件总数目        int index = 0; // 当前文件的序号        int i = 0;            JLabel jlbImg1 = null;        JLabel jlbImg2 = null;        JLabel jlbImg3 = null;            private Graphics g;            /**       * Launch the application.       */        class myFileFilter implements FileFilter {                @Override            public boolean accept(File pathname) {                String filename = pathname.getName().toLowerCase();                if (filename.contains(".jpg")) {                    return false;                } else {                    return true;                }            }        }            public static void main(String[] args) {            EventQueue.invokeLater(new Runnable() {                public void run() {                    try {                        zst1 frame = new zst1();                        frame.setVisible(true);                    } catch (Exception e) {                        e.printStackTrace();                    }                }            });        }            /**       * Create the frame.       */        public zst1() {            setTitle("\u731C\u731C\u770B\u6E38\u620FV0.1");            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);            setBounds(100, 100, 645, 500);            contentPane = new JPanel();            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));            setContentPane(contentPane);            contentPane.setLayout(null);                // 选择目录 按钮的处理程序            JButton btnDir = new JButton("\u9009\u62E9\u76EE\u5F55");            btnDir.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent arg0) {                    JFileChooser jfc = new JFileChooser();                    jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);                    jfc.showDialog(new JLabel(), "选择");                    File file = jfc.getSelectedFile();                    tfDir.setText(file.getAbsolutePath());                    if (file != null && file.isDirectory()) {                        // 参考: java中File.listFiles(FileFilter) FileFilter的使用                        // http://zhouzaibao.iteye.com/blog/347557 ;                            // 获取文件夹下所有的文件                        fileArray = file.listFiles();                        NUM_IMG = fileArray.length;                        }                }            });            btnDir.setBounds(26, 26, 93, 23);            contentPane.add(btnDir);                // 文本框,显示目录            tfDir = new JTextField();            tfDir.setEditable(false);            tfDir.setBounds(125, 27, 450, 21);            contentPane.add(tfDir);            tfDir.setColumns(10);                     // 选择班级 按钮的处理程序          JButton btnClass = new JButton("\u9009\u62E9\u73ED\u7EA7");          btnClass.addActionListener(new ActionListener() {              public void actionPerformed(ActionEvent e) {                   JFileChooser jfc = new JFileChooser();                     jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);                     jfc.showDialog(new JLabel(), "选择");                     File file = jfc.getSelectedFile();                     tfDir.setText(file.getAbsolutePath());                     if (file != null && file.isDirectory()) {                         // 参考: java中File.listFiles(FileFilter) FileFilter的使用                         // http://zhouzaibao.iteye.com/blog/347557 ;                              // 获取文件夹下所有的文件                         fileArray = file.listFiles();                         NUM_IMG = fileArray.length;                    }              }          });          btnClass.setBounds(26, 59, 93, 23);          contentPane.add(btnClass);                    //设置提醒文字            JLabel j1 = new JLabel("猜猜我是谁,请点我相片");            j1.setBounds(5, 100, 200, 33);            this.add(j1);                // 标签,显示带猜测学生姓名            final JLabel lbGuessName = new JLabel("学生姓名");            lbGuessName.setBounds(259, 91, 140, 23);            contentPane.add(lbGuessName);                // 标签,显示第一个学生相片            final JLabel lblImg1 = new JLabel("NO.1");                lblImg1.addMouseListener(new MouseAdapter() {                @Override                public void mouseClicked(MouseEvent arg0) {                    if (arg0.getSource() == lblImg1) {                        if ((lblImg1.getText().equals(lbGuessName.getText()))) {                            JOptionPane.showMessageDialog(null, "YES!你猜对了!", "提示",                                    JOptionPane.PLAIN_MESSAGE);                            } else {                            JOptionPane.showMessageDialog(null, "NO!你猜错了!", "错误",                                    JOptionPane.ERROR_MESSAGE);                            }                        }                }            });            lblImg1.setBounds(26, 155, 150, 200);            contentPane.add(lblImg1);                // 标签,显示第二个学生相片            final JLabel lblImg2 = new JLabel("NO.2");            lblImg2.addMouseListener(new MouseAdapter() {                @Override                public void mouseClicked(MouseEvent arg1) {                    if (arg1.getSource() == lblImg2) {                        if ((lblImg2.getText().equals(lbGuessName.getText()))) {                            JOptionPane.showMessageDialog(null, "YES!你猜对了!", "提示",                                    JOptionPane.PLAIN_MESSAGE);                            } else {                            JOptionPane.showMessageDialog(null, "NO!你猜错了!", "错误",                                    JOptionPane.ERROR_MESSAGE);                            }                    }                }            });            lblImg2.setForeground(Color.BLACK);            lblImg2.setBackground(SystemColor.inactiveCaption);            lblImg2.setBounds(241, 155, 150, 200);            contentPane.add(lblImg2);                // 标签,显示第三个学生相片            final JLabel lblImg3 = new JLabel("NO.3");            lblImg3.addMouseListener(new MouseAdapter() {                    @Override                public void mouseClicked(MouseEvent arg2) {                    if (arg2.getSource() == lblImg3) {                        if ((lblImg3.getText().equals(lbGuessName.getText()))) {                            JOptionPane.showMessageDialog(null, "YES!你猜对了!", "提示",                                    JOptionPane.PLAIN_MESSAGE);                            } else {                            JOptionPane.showMessageDialog(null, "NO!你猜错了!", "错误",                                    JOptionPane.ERROR_MESSAGE);                            }                    }                    }            });            lblImg3.setBounds(434, 155, 150, 200);            contentPane.add(lblImg3);

0 0