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.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;
public class Guess2 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;
private int idImg = 1;
JLabel jlbImg1 = null;
JLabel jlbImg2 = null;
JLabel jlbImg3 = null;
/**
* Launch the application.
*/ public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Guess2 frame = new Guess2();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Guess2() {
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); // 选择目录 button的处理程序
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()){
// 获取目录下全部的文件
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); // 选择班级 button的处理程序
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();
tfClass.setText(file.getAbsolutePath()); }
});
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("\u56FE\u72471"); lblImg1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) { }
});
lblImg1.setBounds(26, 21, 183, 200);
contentPane.add(lblImg1);
jlbImg1 = new JLabel();
jlbImg1.setBackground(Color.RED);
jlbImg1.setBounds(26, 151, 181,201);
this.add(jlbImg1); // 标签,显示第二个学生相片
final 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, 21, 200, 200);
contentPane.add(lblImg2);
jlbImg2 = new JLabel();
jlbImg2.setBackground(Color.RED);
jlbImg2.setBounds(240, 155, 183, 201);
this.add(jlbImg2);
// 标签。显示第三个学生相片
final JLabel lblImg3 = new JLabel("\u56FE\u72473");
lblImg3.addMouseListener(new MouseAdapter() { @Override
public void mouseClicked(MouseEvent e) { }
});
lblImg3.setBounds(434,21, 200, 200);
contentPane.add(lblImg3);
jlbImg3 = new JLabel();
jlbImg3.setBackground(Color.RED);
jlbImg3.setBounds(434, 155, 185, 201);
this.add(jlbImg3);
// 再猜一次 button,点击则更新对应的三张图片 与 带推測学生姓名
final JButton btnGuessAgain = new JButton("\u518D\u731C\u4E00\u6B21");
btnGuessAgain.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnGuessAgain ){ //假设是nextbutton
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 ){ //假设是nextbutton
String strTmp2 = fileArray[index].toString();
index++; jlbImg2.setIcon(new ImageIcon(strTmp2)); index++;
} } String strTmp1 = fileArray[index].toString();
index++;
jlbImg3.setIcon(new ImageIcon(strTmp1));
}
});
btnGuessAgain.setBounds(223, 337, 93, 23);
contentPane.add(btnGuessAgain);
}
}

结果

昨天第二个文本框都还没能都读取得了。如今能够了,

且能显示三张图片。

可是这样的进度都不知道能不能在星期五前完毕猜猜看。。。。

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

  1. Java实时读取日志文件

    古怪的需求 在实习的公司碰到一个古怪的需求:在一台服务器上写日志文件,每当日志文件写到一定大小时,比如是1G,会将这个日志文件改名成另一个名字,并新建一个与原文件名相同的日志文件,再往这个新建的日志文 ...

  2. 20145318赵一Java课程总结

    20145318赵一Java课程总结 每周读书笔记链接汇总 问卷调查 第1周读书笔记 第2周读书笔记 第3周读书笔记 第4周读书笔记 第5周读书笔记 第6周读书笔记 第7周读书笔记 第8周读书笔记 第 ...

  3. 对于JAVA课程的期望

    对于JAVA课程的期望 我对于JAVA这门课程最初的了解可能来自于学长学姐的描述,或者是选课指南上简单的课程名称,那个时候的JAVA,对我来说遥远而又陌生,显得那么高大上,但是一转眼自己马上就要结束大 ...

  4. Java学习-007-Log4J 日志记录配置文件详解及实例源代码

    此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:20 ...

  5. java(课程设计之记事本界面部分代码公布)

    代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...

  6. JAVA 从GC日志分析堆内存 第七节

    JAVA 从GC日志分析堆内存 第七节   在上一章中,我们只设置了整个堆的内存大小.但是我们知道,堆又分为了新生代,年老代.他们之间的内存怎么分配呢?新生代又分为Eden和Survivor,他们的比 ...

  7. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  8. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  9. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

随机推荐

  1. JavaScript--Array 数组对象

    Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的 数组定义的方法: 1. 定义了一个空数组: v ...

  2. 【BZOJ3205_洛谷3638】[APIO2013]机器人(动态规划)

    题目: 洛谷3638 分析: 卡了一天的神题--(OrzJumpmelon) 首先预处理出从点\(p\)向\(d\)方向出发最终能到达的点\(nxt[p][d]\).这个可以直接记忆化搜索解决.如果出 ...

  3. Mac OS安装octave出现的问题-'error:terminal type set to 'unknown'的解决'

    学习Machine learning需要使用Octave语言,毕竟Andrew Ng (恩达.吴)力荐.本机系统Mac OS X EI Capitan, 其实什么系统都无所谓了,安装原理都是一样的. ...

  4. Hadoop Hive概念学习系列之hive与依赖环境的交互(二十一)

    hive与环境的交互,算是一个小知识点,但掌握不菲! 如何在hive里,也达到这样呢? 不需要这样啦,因为,hive是建立在hadoop之上,启动hive,相当于,就是,hadoop jar ** h ...

  5. Android基础TOP4:Tost的使用

    Activity: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xm ...

  6. 【MySQL】二进制分发安装

    操作系统:Red Hat Enterprise Linux Server release 6.5 Mysql安装包:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz ...

  7. html——a标签中target属性

    有 4 个保留的目标名称用作特殊的文档重定向操作: _blank 浏览器总在一个新打开.未命名的窗口中载入目标文档. _self 这个目标的值对所有没有指定目标的 <a> 标签是默认目标, ...

  8. 【译】x86程序员手册11- 4.1系统寄存器

    4.1 Systems Registers 系统寄存器 The registers designed for use by systems programmers fall into these cl ...

  9. Nginx 重新加载日志配置

    最近在写一个nginx日志的切割脚本,切割完后,发现可以不重启服务,而直接重新加载日志配置文件的命令 [   kill -USR1 $nginx.pid   ],但是不知道 -USR1这个参数是什么意 ...

  10. 11-c++虚拟函数

    虚拟函数 #include "stdio.h" class A{ public: void print() { printf("%s","this i ...