猜猜看游戏
来源:互联网 发布:linux系统的启动过程 编辑:程序博客网 时间:2024/04/28 17:22
猜猜看游戏对话框图片实现
import java.awt.EventQueue;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.JTextField;import javax.swing.JLabel;import java.awt.Color;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;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; // 当前文件的序号 JLabel jlbImg = null; JButton btnNext = 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); // 选择目录 按钮的处理程序 JButton btnDir = new JButton("目录"); btnDir.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {JFileChooser j=new JFileChooser(); j.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//设置Filechooser j.showDialog(new JLabel(), "选择目录"); File file=j.getSelectedFile(); tfDir.setText(file.getAbsolutePath());// TODO Auto-generated method stub 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, 363, 21); contentPane.add(tfDir); tfDir.setColumns(10); // 选择班级 按钮的处理程序 JButton btnClass = new JButton("班级"); btnClass.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser i=new JFileChooser(); i.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//设置Filechooser i.showDialog(new JLabel(), "选择班级"); File file=i.getSelectedFile(); tfClass.setText(file.getAbsolutePath()); fileArray = file.listFiles(); NUM_IMG = fileArray.length; } }); 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); // 标签,显示第一个学生相片 final JLabel lblImg1 = new JLabel("NO.1"); setBackground(Color.RED); lblImg1.setBounds(100, 100, 200, 200); this.add(lblImg1); lblImg1.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { } }); lblImg1.setBounds(26, 151, 183, 178); contentPane.add(lblImg1); // 标签,显示第二个学生相片 final JLabel lblImg2 = new JLabel("NO.2"); lblImg2.setBackground(Color.RED); lblImg2.setBounds(100, 100, 200, 200); this.add(lblImg2); 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); // 标签,显示第三个学生相片 final JLabel lblImg3 = new JLabel("NO.3"); lblImg3.setBackground(Color.RED); lblImg3.setBounds(100, 100, 200, 200); this.add(lblImg3); lblImg3.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { } }); lblImg3.setBounds(434, 155, 185, 172); contentPane.add(lblImg3); // 再猜一次 按钮,点击则更新相应的三张图片 与 带猜测学生姓名 final JButton btnNext = new JButton("再猜一次"); btnNext.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(e.getSource()==btnNext){ //如果是next按钮 String strTmp = fileArray[index].toString(); index++; if(index==NUM_IMG) index = 0; lblImg1.setIcon(new ImageIcon(strTmp)); //index++; // lblImg2.setIcon(new ImageIcon(strTmp)); //index++; // lblImg3.setIcon(new ImageIcon(strTmp)); } } }); btnNext.setBounds(223, 337, 93, 23); contentPane.add(btnNext); }}
0 0
- 猜猜看游戏
- 猜猜看游戏
- 猜猜看游戏
- 猜猜看游戏图形化
- 《猜猜看》游戏开发
- 猜猜看游戏框架
- 《猜猜看游戏》第二天
- 《猜猜看游戏》第三天
- 猜猜看游戏模版
- 《猜猜看游戏》第四天
- 《猜猜看》游戏设计
- c#课程设计---猜猜看游戏
- 《猜猜看》游戏开发总结
- 猜猜看游戏开发总结
- 猜猜看游戏的开发总结
- 《猜猜看》游戏的开发总结
- C#:《猜猜看》游戏开发总结
- C#《猜猜看》游戏开发总结
- ubuntu dns解析无效的一个问题解决
- Time.realtimeSinceStartup 自游戏开始实时时间
- 我的前端面试题
- 使用四种框架分别实现1百万websocket常连接的服务器
- csv文件解析(用于关卡配置)
- 猜猜看游戏
- RocketMQ入门(2)最佳实践
- Yii2 yiisoft/yii2 2.0.4 requires bower-asset/jquery 2.1.*@stable
- 【高仿微信系列】02、消息列表ListView滑动删除
- 错误解决:There is no getter for property named 'id' in class 'java.lang.String'
- 小巨头还无的几个热门领域 下一轮撕逼战或在此爆发
- SQL到MongoDB映射表
- Extjs4之 grid中加入合计行(summary )
- this用法