第四

来源:互联网 发布:数控编程招聘 编辑:程序博客网 时间:2024/04/30 23:41

搞得差不多,也就这样了

import java.awt.EventQueue;      
      
import javax.imageio.ImageIO;      
import javax.swing.JFrame;      
import javax.swing.JPanel;      
import javax.swing.border.EmptyBorder;      
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.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 jasds extends JFrame {      
    /**    
*    
*/      
    private static final long serialVersionUID = 1L;      
      
    private JPanel contentPane;      
    private JTextField tfDir;      
    File[] fileArray; // 文件夹下所有文件      
    int NUM_IMG = 0; // 文件总数目      
    int index = 0; // 当前文件的序号      
    int i = 0;      
      
    JLabel jlbImg1 = null;      
    JLabel jlbImg2 = null;      
    JLabel jlbImg3 = null;      
      
    /**   
     * 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 {      
                    jasds frame = new jasds();      
                    frame.setVisible(true);      
                } catch (Exception e) {      
                    e.printStackTrace();      
                }      
            }      
        });      
    }      
      
    /**   
     * Create the frame.   
     */      
    public jasds() {      
        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);      
              
        //设置提醒文字      
        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);      
      
        // 再猜一次 按钮,点击则更新相应的三张图片 与 带猜测学生姓名      
        final JButton btnGuessAgain = new JButton("\u518D\u731C\u4E00\u6B21");      
      
        btnGuessAgain.addActionListener(new ActionListener() {      
            public void actionPerformed(ActionEvent e) {      
                if (e.getSource() == btnGuessAgain) { // 如果是next按钮      
      
                    Random random = new Random(System.currentTimeMillis());      
                    // 循环三次      
      
                    ImageIcon icon;      
                    // int k[] = null;      
                    for (int i = 0; i < 3; i++) {      
                        index = random.nextInt(NUM_IMG);      
                        String strTmp = fileArray[index].toString();      
                        String filename1 = fileArray[index].getName();      
                        try {      
      
                            icon = new ImageIcon(ImageIO.read(new File(strTmp)));      
      
                            // 从图表中获取到图片      
                            Image image = icon.getImage();      
                            // 缩放图像      
                            Image smallImage = image.getScaledInstance(150,      
                                    200, Image.SCALE_FAST);      
      
                            // 把Image文件转化为ImageIcon      
                            icon = new ImageIcon(smallImage);      
      
                            if (index == NUM_IMG)      
                                index = 0;      
      
                            switch (i) {      
                            case 0:      
                                System.out.println(fileArray[index].getName());      
                                // k[0]=index;      
                                lblImg1.setIcon(icon);      
                                lblImg1.setText(filename1);      
      
                                break;      
                            case 1:      
                                System.out.println(fileArray[index].getName());      
                                lblImg2.setIcon(icon);      
                                lblImg2.setText(filename1);      
                                // k[1]=index;      
      
                                break;      
                            case 2:      
                                System.out.println(fileArray[index].getName());      
                                lblImg3.setIcon(icon);      
                                lblImg3.setText(filename1);      
                                // k[2]=index;      
      
                                break;      
      
                            }      
                        } catch (IOException e1) {      
                            // TODO Auto-generated catch block      
                            e1.printStackTrace();      
      
                        }      
      
                    }      
      
                }      
      
                @SuppressWarnings("unused")      
                Random random1 = new Random(index);      
                // i = index;      
      
                System.out.println(fileArray[index].getName());      
                String filename = fileArray[index].getName();      
      
                lbGuessName.setText(filename);      
            }      
        });      
        btnGuessAgain.setBounds(223, 400, 93, 23);      
        contentPane.add(btnGuessAgain);      
    }      
}  

0 0
原创粉丝点击