Java实现匿名内部类的简单应用
在查看数码相片时,通常会使用一款图片查看软件,该软件应该能遍历文件夹下的所有图片并进行显示。编写程序,实现一个图片查看软件,它可以支持6张图片,通过单击不同的按钮就可以查看不同的图片。
思路分析:就是通过Window Builder组件新建个Application Window,在上面部署一些按钮,给按钮添加事件。需要注意的是,显示图片的方法是使用JLabel类的setIcon(new ImageIcon("图片路径"))方法。
代码如下:
import java.awt.EventQueue;
public class ImageViewer {
private JFrame frame;
JLabel lblNewLabel = new JLabel();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ImageViewer window = new ImageViewer();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public ImageViewer() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame("图片浏览器");
frame.setBounds(100, 100, 336, 221);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
lblNewLabel.setBounds(101, 75, 117, 86);
frame.getContentPane().add(lblNewLabel);
JButton button = new JButton("\u56FE\u72471");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblNewLabel.setIcon(new ImageIcon("src/images/1.png"));
}
});
button.setBounds(10, 10, 93, 23);
frame.getContentPane().add(button);
JButton button_1 = new JButton("\u56FE\u72472");
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblNewLabel.setIcon(new ImageIcon("src/images/2.png"));
}
});
button_1.setBounds(113, 10, 93, 23);
frame.getContentPane().add(button_1);
JButton button_2 = new JButton("\u56FE\u72473");
button_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblNewLabel.setIcon(new ImageIcon("src/images/3.png"));
}
});
button_2.setBounds(216, 10, 93, 23);
frame.getContentPane().add(button_2);
JButton button_3 = new JButton("\u56FE\u72474");
button_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblNewLabel.setIcon(new ImageIcon("src/images/4.png"));
}
});
button_3.setBounds(10, 43, 93, 23);
frame.getContentPane().add(button_3);
JButton button_4 = new JButton("\u56FE\u72475");
button_4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblNewLabel.setIcon(new ImageIcon("src/images/5.png"));
}
});
button_4.setBounds(113, 43, 93, 23);
frame.getContentPane().add(button_4);
JButton button_5 = new JButton("\u56FE\u72476");
button_5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblNewLabel.setIcon(new ImageIcon("src/images/6.png"));
}
});
button_5.setBounds(216, 43, 93, 23);
frame.getContentPane().add(button_5);
}
}
效果如图:

Java实现匿名内部类的简单应用的更多相关文章
- Java 8 Streams的简单使用方法
Java 8 Streams的简单使用方法 package JDK8Test; import java.util.ArrayList; public class Main { public stati ...
- 计算机网络(13)-----java nio手动实现简单的http服务器
java nio手动实现简单的http服务器 需求分析 最近在学习HTTP协议,还是希望动手去做一做,所以就自己实现了一个http服务器,主要功能是将http请求封装httpRequest,通过解析 ...
- 模拟java.util.Collection一些简单的用法
/* 需求:模拟java.util.Collection一些简单的用法! 注意:java虚拟机中并没有泛型类型的对象.泛型是通过编译器执行一个被称为类型擦除的前段转换来实现的. 1)用泛型的原生类型替 ...
- Rsession让Java调用R更简单
Rsession让Java调用R更简单 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...
- java与C#的简单比较
刚刚看完java视频,做了个简单图: 新知识不多,大多是与以往知识的相互碰撞,一下做了java与C#的简单比较: Java C# 主类名与文件名 必须一 ...
- 多线程(三) java中线程的简单使用
java中,启动线程通常是通过Thread或其子类通过调用start()方法启动. 常见使用线程有两种:实现Runnable接口和继承Thread.而继承Thread亦或使用TimerTask其底层依 ...
- Java数据结构和算法 - 简单排序
Q: 冒泡排序? A: 1) 比较相邻的元素.如果第一个比第二个大,就交换它们两个; 2) 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数; 3) 针 ...
- JAVA课程设计——一个简单的教务人事管理系统
大三上学期期末总结,没错,上学期,写在下学期新学期开始,哈哈哈. 上学期学习了面向对象程序设计,课程设计的题目使用JAVA语言完成一个简单的教务人事管理系统,能够实现访问数据库的登录验证,分别按部门和 ...
- java web 项目中 简单定时器实现 Timer
java web 项目中 简单定时器实现 Timer 标签: Java定时器 2016-01-14 17:28 7070人阅读 评论(0) 收藏 举报 分类: JAVA(24) 版权声明:本文为博 ...
随机推荐
- hive2.3.2安装使用
hive的安装简单一些,使用也比较简单,基础hadoop搭建好之后,只要初始化一些目录和数据库就好了 安装需要做几件事: 1.设立一个数据源作为元数据存储的地方,默认是derby内嵌数据库,不过不允许 ...
- html传值及接收传值
传值:url?para1=value1¶2=value2 接收传值: <script type="text/javascript"> function ...
- 关于1KB病毒的清除
以前中过很多次的1KB病毒,这种病毒来源一般都是U盘,就是去打印店插个U盘,回来插自己电脑发现U盘中毒了. 中毒特征就是根目录下的所有文件夹都变成快捷方式,都只有1KB大小,而根目录下的文件和压缩包不 ...
- maven学习日记(三)-------开发环境搭建(springmvc+hibernate4)各种maven错误汇总
1.maven编码 gbk 的不可映射字符 解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符集编码与代码文件使用的字符集编码一致!! 安装系统之后,一般中文系统 ...
- SAP,Oracle和国产系统的比较心得
以下这个心得感同身受,小生如今好歹也做过十几家企业,包括民企,中大型外企,国企的项目, 都经历了TMD的从金蝶用友切换到Oracle, SAP 每当上线的时候 总有用户跳出来比较说 SAP,Ora ...
- 第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中
第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中 1.爬虫文件 dispatcher.connect()信号分发器,第一个参数信 ...
- html5视频播放解决方案
关键词:html5 nativeapp webapp mp4 H.264 html5没学习之前总觉的很神秘.近期通过学习和研究html5有点成果,特总结分享给大家.众所周知应用开发分两种:一是原生的 ...
- iText操作PDF读取JPEG图片ArrayIndexOutOfBoundsException异常
iText版本:itextpdf-5.5.1.jar 问题描述 读取本地JPEG图片文件的代码: com.itextpdf.text.Image image = com.itextpdf.text.I ...
- RedHat 6.4 安装WAS 7.0 启动失败com.ibm.websphere.ssl.SSLException
问题描述 RedHat 6.4 安装 WAS 7.0,安装完成之后启动WAS失败,异常信息如下: [5/7/15 9:59:55:185 CST] 00000000 WsServerImpl E WS ...
- 在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏
一.在Android平台下搭建PhoneGap开发环境具体怎么搭建我这里就不详细说了,如有需要我后面再讲 . PhoneGap 官方地址有详细说明:http://www.phonegap.com. 在 ...