标签:
import java.awt.Color; import java.awt.EventQueue; import java.awt.GridLayout; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.File; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.EmptyBorder; public class Guess01 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; String strPath = ""; //+文件夹路径 String strFileName = ""; //+文件名称 JLabel jlbImg = null; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Guess01 frame = new Guess01(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public Guess01() { setTitle("\u731C\u731C\u770B\u6E38\u620FV0.1"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 645, 409); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); // +添加显示Image的JLabel控件 jlbImg = new JLabel(); jlbImg.setBackground(Color.RED); jlbImg.setBounds(100, 100, 200, 200); this.add(jlbImg); // 选择目录 按钮的处理程序 final JButton btnDir = new JButton("\u9009\u62E9\u76EE\u5F55"); btnDir.addActionListener(new ActionListener() { private Object btnGuessAgain; public void actionPerformed(ActionEvent e) { if(e.getSource()==btnDir ){ //如果是open按钮 JFileChooser jfc=new JFileChooser(); //jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES ); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); jfc.showDialog(new JLabel(), "选择"); File file=jfc.getSelectedFile(); if(file.isDirectory()){ System.out.println("文件夹:"+file.getAbsolutePath()); }else if(file.isFile()){ System.out.println("文件:"+file.getAbsolutePath()); } System.out.println(jfc.getSelectedFile().getName()); // 把文件路径显示在文本框中 tfDir.setText(file.getAbsolutePath()); //jlbImg.setIcon(new ImageIcon(file.getAbsolutePath())); // 获取文件路径 与文件名 strPath = file.getAbsolutePath(); strFileName = jfc.getSelectedFile().getName(); if(file!=null && file.isDirectory()){ // 参考: java中File.listFiles(FileFilter) FileFilter的使用 // http://zhouzaibao.iteye.com/blog/347557 ; // 获取文件夹下所有的文件 fileArray = file.listFiles(); NUM_IMG = fileArray.length; } } if(e.getSource()==btnGuessAgain){ //如果是next按钮 String strTmp = fileArray[index].toString(); index++; if(index==NUM_IMG) index = 0; jlbImg.setIcon(new ImageIcon(strTmp)); } } }); btnDir.setBounds(26, 26, 93, 23); contentPane.add(btnDir); //随机图片生成 jlbImg.setLayout(new GridLayout(3, 3)); jlbImg .setSize(200, 200); jlbImg .setVisible(true); //jlbImg .setDefaultCloseOperation(jlbImg.EXIT_ON_CLOSE); JLabel[] labels = new JLabel[100]; for (int i = 0; i < 100; i++) { labels[i] = new JLabel(); jlbImg .add(labels[i]); int num = ((int) (Math.random() * 3)); if (num == 0) { labels[i].setIcon(new ImageIcon("X.jpg")); } else if (num == 1) { labels[i].setIcon(new ImageIcon("0.jpg")); } } // 文本框,显示目录 tfDir = new JTextField(); tfDir.setEditable(false); tfDir.setBounds(125, 27, 363, 21); contentPane.add(tfDir); tfDir.setColumns(10); // 选择班级 按钮的处理程序 final JButton btnClass = new JButton("\u9009\u62E9\u73ED\u7EA7"); btnClass.addActionListener(new ActionListener() { private Object btnGuessAgain; public void actionPerformed(ActionEvent e) { if(e.getSource()==btnClass){ //如果是open按钮 JFileChooser jfc=new JFileChooser(); //jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES ); //jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); jfc.setFileSelectionMode(JFileChooser.FILES_ONLY); File file=jfc.getSelectedFile(); jfc.showDialog(new JLabel(), "选择"); if(file.isDirectory()){ System.out.println("文件夹:"+file.getAbsolutePath()); }else if(file.isFile()){ System.out.println("文件:"+file.getAbsolutePath()); } System.out.println(jfc.getSelectedFile().getName()); // 把文件路径显示在文本框中 tfClass.setText(file.getAbsolutePath()); //jlbImg.setIcon(new ImageIcon(file.getAbsolutePath())); // 获取文件路径 与文件名 strPath = file.getAbsolutePath(); strFileName = jfc.getSelectedFile().getName(); //if(file!=null && file.istxt()){ if (file.getName().endsWith(".txt")){ // 参考: java中File.listFiles(FileFilter) FileFilter的使用 // http://zhouzaibao.iteye.com/blog/347557 ; } //获取文件夹下所有的文件 fileArray = file.listFiles(); NUM_IMG = fileArray.length; } if(e.getSource()==btnGuessAgain){ //如果是next按钮 String strTmp = fileArray[index].toString(); index++; if(index==NUM_IMG) index = 0; jlbImg .setIcon(new ImageIcon(strTmp)); } } }); btnClass.setBounds(26, 59, 93, 23); contentPane.add(btnClass); // 文本框,显示班级文件 tfClass = new JTextField(); tfClass.setEditable(false); tfClass.setBounds(125, 60, 363, 21); contentPane.add(tfClass); tfClass.setColumns(10); // 标签,显示带猜测学生姓名 JLabel lbGuessName = new JLabel("\u59D3\u540D"); lbGuessName.setBounds(259, 91, 102, 23); contentPane.add(lbGuessName); // 标签,显示第一个学生相片 JLabel lblImg1 = new JLabel("\u56FE\u72471"); lblImg1.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { } }); lblImg1.setBounds(26, 151, 183, 178); contentPane.add(lblImg1); // 标签,显示第二个学生相片 JLabel lblImg2 = new JLabel("\u56FE\u72472"); lblImg2.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { } }); lblImg2.setForeground(Color.BLACK); lblImg2.setBackground(SystemColor.inactiveCaption); lblImg2.setBounds(241, 155, 183, 172); contentPane.add(lblImg2); // 标签,显示第三个学生相片 JLabel lblImg3 = new JLabel("\u56FE\u72473"); lblImg3.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { } }); lblImg3.setBounds(430, 155, 185, 172); contentPane.add(lblImg3); // 再猜一次 按钮,点击则更新相应的三张图片 与 带猜测学生姓名 JButton btnGuessAgain = new JButton("\u518D\u731C\u4E00\u6B21"); btnGuessAgain.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); btnGuessAgain.setBounds(223, 337, 93, 23); contentPane.add(btnGuessAgain); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u013910357/article/details/46693255