《Java课程实习》日志(周三)

在之前的代码上添加

<span style="font-size:14px;">import java.util.Random;
import javax.swing.JOptionPane; </span>

<span style="font-size:14px;">final JLabel lblImg1 = new JLabel("图片一");
		lblImg1.addMouseListener(new MouseAdapter () {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				if(arg0.getSource()==lblImg1){//+
					if(( lblImg1.getText().equals(lbGuessName.getText()))){
						JOptionPane.showMessageDialog(null,"哇,你猜对了","提示",JOptionPane.PLAIN_MESSAGE);

					}
					else {
						JOptionPane.showMessageDialog(null,"no,猜错了","错误",JOptionPane.ERROR_MESSAGE);

					}  

				}
			}
		});</span>
lblImg2.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg1) {
				if(arg1.getSource()==lblImg2){//+
					if(( lblImg2.getText().equals(lbGuessName.getText()))){
						JOptionPane.showMessageDialog(null,"哇,你猜对了","提示",JOptionPane.PLAIN_MESSAGE);

					}
					else {
						JOptionPane.showMessageDialog(null,"no,猜错了","错误",JOptionPane.ERROR_MESSAGE);

					}
				}
			}
		});
	final JLabel lblImg3 = new JLabel("图片三");
		lblImg3.addMouseListener(new MouseAdapter() {

			@Override
			public void mouseClicked(MouseEvent arg2) {
				if(arg2.getSource()==lblImg3){//+
					if(( lblImg3.getText().equals(lbGuessName.getText()))){
						JOptionPane.showMessageDialog(null,"哇,你猜对了","提示",JOptionPane.PLAIN_MESSAGE);
					}
					else {
						JOptionPane.showMessageDialog(null,"no,猜错了","错误",JOptionPane.ERROR_MESSAGE);
					}
				}
			}
		});

把这代码

String strTmp = fileArray[index].toString();
					index++;
					if(index==NUM_IMG)
						index = 0;
					jlbImg1.setIcon(new ImageIcon(strTmp));

					index++;
					jlbImg2.setIcon(new ImageIcon(strTmp));
					index++;
					if(e.getSource()==btnGuessAgain ){ //如果是next按钮
						String strTmp2 = fileArray[index].toString();
						index++;

						jlbImg2.setIcon(new ImageIcon(strTmp2));

						index++;
					}

				}   String strTmp1 = fileArray[index].toString();
				index++;
				jlbImg3.setIcon(new ImageIcon(strTmp1));
			}
		});

改成

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());
								lblImg1.setIcon(icon);
								lblImg1.setText(filename1);
								break;
							case 1:
								System.out.println(fileArray[index].getName());
								lblImg2.setIcon(icon);
								lblImg2.setText(filename1);
								break;
							case 2:
								System.out.println(fileArray[index].getName());
								lblImg3.setIcon(icon);
								lblImg3.setText(filename1);
								break;
							}
						} catch (IOException e1) {
							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);
			}
		});

就能实现以下功能

不足之处就是第二个文本框不选择txt文件也能实现该功能,且能猜对的总是最后一个,不是随机的,还有就是三张图片有时候会出现两张一样的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-24 03:51:03

《Java课程实习》日志(周三)的相关文章

《Java课程实习》日志(周四)

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

《Java课程实习》日志(周四)猜猜看注释版

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

《Java课程实习》日志(周二)

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

实习日志

持续更新实习过程中的感受趣闻 1.组里6个人有三个美国长大的亚裔,除了一个法国人和我其余都是英语为母语的...亚历山大 2.周一周三free lunch,楼下遍地餐厅,味道非常知足 3.拿到一台Dell Precision M4800作为工作电脑,16G内存,NVIDIA高端显卡,市价23000人民币,标配Mac Air价格的三倍了.可是用起来一点也没感受到性能带来的优越性,反而是10多斤的重量,crappy的windows系统让人无比嫌弃 4.公司到处都是呆了7,8年十几年的员工,和印象中硅谷

老白的JAVA课程14 GUI 窗口的设置

项目驱动 需求分析-系统设计-编码-测试-维护期 GUI Swing程序的建立步骤 1.建立容器-可以容纳其他图形对象的类,容器中还可以添加容器 2.建立组件-组件就是一套图形对象 3.将组件放到容器当中-将创建好的对象添加到容器中,才能在窗口中显示 4.设置布局 JFrame:带有标题和边框的顶级窗口 JPanel:就是一个矩形的区域,其中可以包含图形组件,也可以包含其他JPanel JApplet:在浏览器中运行的容器 JScrollpane:一种可以实现水平或垂直滚动条的容器 JDiolo

老白的JAVA课程16 卡片布局 javaBean

基于组件的开发 javaBean 组成部件 规范   1: 必须要有一个公共的构造方法,javaBean这个类也必须是公共的   2:javaBean中的属性都是私有的,每一个属性都必须提供符合命名规范的set和get方法   3:应该是可序列化的,但是并不是必须的 类型:  1:简单属性javabean  set和get足够简单  2:绑定属性JavaBean  属性复杂,需要绑定其他属性  3:约束属性JavaBean  set和get方法有约束 cardlayout.show(父容器,按钮

老白的JAVA课程13 接口

之前我们讲到了java4大特征的最后一个抽象的特征,其实在抽象这个特征里面,我们还有一个特征-接口,今天我们就来学一学接口.  用电脑,手机等电子产品来比喻接口,可以更好的理解,比如用符合接口的插头就可以了.  接口具有很好的扩展性,方便.  接口的由来   例子:奥拓奥迪都是汽车,汽车的维护都是可以用调节引擎和更换汽油的方法,那么奥拓和奥迪也都可以:但是有了更多的维护对象以后,比如说大货车,卡车等等,其他的对象不一定需要每一步维护,或者都不需要维护:又比如不同枪支有不同特性的例子.  因此,我

老白的JAVA课程17 集合

集合 数组的缺点:长度限制 添加的类型有限制 集合自动变长 随意添加 但是数组的效率高,在游戏里用的比较多 SuperArry是一套的集合框架 两大类 接口 1 Collection  单一值的元素  1.1 list 有序的 放进去的顺序和里面的顺序是一样的 (不是传统的里面有没有顺序的意思)    可重复的    实现类 ArryList 1.2 set  无序的 里面和放进去的不是一样的    只能是不可重复的 2 Map  键值对 键 值  map的键是不能重复的 老白的JAVA课程17

Java中的日志——Java.util.logging、log4j、commons-logging

Java中给项目程序添加log主要有三种方式,一使用JDK中的java.util.logging包,一种是log4j,一种是commons-logging.其中log4j和commons-logging都是apache软件基金会的开源项目.这三种方式的区别如下: Java.util.logging,JDK标准库中的类,是JDK 1.4 版本之后添加的日志记录的功能包. log4j,最强大的记录日志的方式.可以通过配置 .properties 或是 .xml 的文件, 配置日志的目的地,格式等等.