第一次写博客,不喜勿喷。

最近一个小师弟问我怎么用Java做图片浏览器,感觉好久没玩Java了,就自己动手做了一下。

学校的教程是用Swing来做界面的,所以这里也用这个来讲。

首先要做个大概的界面出来,eclipse有一个很好用的插件叫做WindowBuilder,可以可视化编辑界面,自动帮你生成代码。

界面如下:

可能有些同学不知道图片该怎么弄出来,其实很简单。

创建一个JLabel,然后里面不要写字。JLabel有一个icon的属性,照片就放在这里面。

这里要注意的是,WindowBuilder生成的界面代码一般是放在构造方法里面的,里面的变量都是局部变量。而这个JLabel要设置为全局变量,因为之后的图片切换要用到这个变量。

1 Img = new JLabel("");2 Img.setIcon(new ImageIcon(" 这里写照片的地址 "));3 Img.setBounds(14, 13, 404, 257);4 contentPane.add(Img);

因为时间有限,没有做图片自适应。这里贴一个图片自适应的教程。

然后我们只需要更换图片的地址,就能让JLabel显示不同的图片,实现图片浏览器的功能。

首先我们可以给之前做好的“open”按钮添加一个点击事件,点击后可以调用JFileChooser来浏览本地的文件,获取到选中的文件地址,然后存入ImgList保存。

1 public voidactionPerformed(ActionEvent e) {2 //初始化文件选择器

3 JFileChooser jfc=newJFileChooser();4 jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );5 //弹出选择文件的界面

6 jfc.showDialog(new JLabel(), "选择");7 File file=jfc.getSelectedFile();8 //pasePath是一个分析文件的方法,主要是用于判断读取到的是文件夹还是文件,并将其中的图片类型的文件地址存到ImgList中。

9 pasePath(file.getAbsolutePath());10 //最后显示读取到的第一张图片。

11 if(imglist.size()>0) {12 String[] list = (String[])imglist.get(0);13 Img.setIcon(new ImageIcon(list[0]));14 }15 }

//分析文件的方法

public voidpasePath(String path) {

imglist.clear();//清理掉之前的图片地址。

File file = newFile(path);//如果是文件,就分析文件的后缀名是不是jpg或者png,如果是就存进imglist。

if (!file.isDirectory()) {

String absolutepath=file.getAbsolutePath();

String name=file.getName();

String[] list= newString[] {absolutepath,name};

String[] strArray= file.getName().split("\\.");

System.out.println(strArray[strArray.length-1]);if(strArray[strArray.length-1].equals("jpg")||strArray[strArray.length-1].equals("png")) {

imglist.add(list);

}//如果不是文件,就存是文件夹,按上一个if语句内的写法,逐个分析文件夹内的文件。区别就是这个存进去的图片地址可能有很多个。

} else if(file.isDirectory()) {

System.out.println("文件夹");

String[] filelist=file.list();for (int i = 0; i < filelist.length; i++) {

File readfile= new File(path + "\\" +filelist[i]);if (!readfile.isDirectory()) {

String absolutepath=readfile.getAbsolutePath();

String name=readfile.getName();

String[] list= newString[] {absolutepath,name};

String[] strArray= readfile.getName().split("\\.");

System.out.println(strArray[strArray.length-1]);if(strArray[strArray.length-1].equals("jpg")||strArray[strArray.length-1].equals("png")) {

imglist.add(list);

}

}

}

}

}

到这里,我们已经可以读取到文件夹内的图片了。然后我们要给“上一个”,“下一个”按钮添加事件,在点击的时候切换图片。

其实就是很简单的一个判断语句,这是“上一个”按钮的判断语句。

如果imglist的大小大于0,说明列表内有东西。然后判断,如果现在读取的这个照片是0,那么肯定就没有上一个了,就读取最后一张照片。

我在这里用了一个全局变量 nowindex 表示当前读取到的图片,然后根据这个进行加减或赋值就可以进行切换了。

判断后重新设置图片的地址,就可以实现切换图片了。

“下一个”的事件就反过来做就行了。

if(imglist.size()>0) {if(nowindex==0) {

nowindex=imglist.size()-1;

}else{

nowindex= nowindex-1;

}

String[] list=(String[])imglist.get(nowindex);

Img.setIcon(new ImageIcon(list[0]));

}

最后的运行结果:

感谢阅读~

java实现浏览器ui中的收藏夹_Java实现简单的图片浏览器相关推荐

  1. java实现浏览器ui中的收藏夹_谷歌改进Google Chrome浏览器中的PDF浏览器 带来全新UI...

    最近,谷歌一直在不断地改进在Chrome浏览器的PDF浏览器.例如,它开发了一个选项,以查看PDF的两页视图,并让你保存PDF表格.但这并不足够,由于目前的用户界面信息贫乏容易引发误解和困扰,谷歌正在 ...

  2. java实现浏览器ui中的收藏夹_基于Selenium2+Java的UI自动化(2) - 启动浏览器

    一.准备工作 我们常用的浏览器主要有三个:chrome.Firefox.IE:其中chrome 和 IE 需要下载驱动程序,才能启动浏览器,注意驱动程序有32位和64位两种. 另外:如何查看本机的浏览 ...

  3. java 简单图片浏览器_Java实现简单的图片浏览器

    第一次写博客,不喜勿喷. 最近一个小师弟问我怎么用Java做图片浏览器,感觉好久没玩Java了,就自己动手做了一下. 学校的教程是用Swing来做界面的,所以这里也用这个来讲. 首先要做个大概的界面出 ...

  4. edge如何导入html文件收藏夹,Win10 edge浏览器如何导入/导出收藏夹中的网站

    Windows10系统自带了Edge浏览器,其因为强大的功能而一直深受用户们的喜爱.不过,最近有用户咨询,Edge浏览器中收藏夹的网站该如何导入或导出呢?由于Edge浏览器默认就是无法导出收藏夹的,但 ...

  5. html收藏导入浏览器,分享星愿浏览器导入和导出收藏夹方法

    软件安装:猎豹浏览器 装机大全致力于收录最值得您拥有的精品应用,第一时间武装您的电脑变身电脑达人 我们将为您奉上 更贴心的分类方式:无论您喜欢音乐.视频, 还是热衷教程.资讯, 精准的分类方便您在装机 ...

  6. IE浏览器如何导入导出收藏夹

    IE浏览器如何导入导出收藏夹 一.IE浏览器导出收藏夹步骤 1. 2. 3.导出至htm文件 二.IE浏览器导入收藏夹步骤 1. 2. 3. 4. 神爱世人,甚至将他的独生子(耶稣)赐给他们,叫一切信 ...

  7. 去掉Win7资源管理器左侧导航窗格中的收藏夹、库等的方法

    去掉Win7资源管理器的收藏夹/库/家庭组/网络的方法 将Windows 7资源管理器左侧导航窗格中的收藏夹.库.家庭组.网络全部去掉,只剩下计算机, 以收藏夹为例作简要说明. 首先打开注册表编辑器, ...

  8. Android界面编程之简单的图片浏览器

    Android界面编程之简单的图片浏览器 在进行android编程之前,我们首先要明确一下几点: 1.安卓开发中各种资源所在的位置以及自己编写时应该放到的位置: android项目中所有的资源都放到r ...

  9. python实现一个简单的图片浏览器

    上一个博客中学习了如何在网页上进行简单的图片爬取,目的是制作一个简单的图片浏览器,然后可以选择喜欢的图片筛选到另一个文件夹中. 爬取图片的博客链接:https://blog.csdn.net/yql_ ...

  10. 用PyQt实现简单的图片浏览器

    一,目标 ​实现简单的图片浏览器,有一个打开按钮,点击该按钮弹出选择窗口,在电脑磁盘中选择图片文件并打开 二,组件架构 QMainWindow |----QScrollArea (CentralWid ...

最新文章

  1. Thinkpad系统重装终极版
  2. 京东小程序上线,剑指何方?
  3. tomcat+nginx+redis实现均衡负载、session共享(一)
  4. 32 - III. 从上到下打印二叉树 III
  5. 云小课 | 华为云KYON之L2CG
  6. UI中国转的产品知识
  7. .git文件过大,怎么删除
  8. word文档批量给图片添加题注
  9. 【渝粤教育】国家开放大学2018年春季 8635-22T老年人中医体质辨识与养 参考试题
  10. 费马定理、罗尔中值定理、零点存在定理、拉格朗日中值定理、
  11. 双击计算机文档,电脑双击文件都是打开属性窗口怎么办
  12. 转:Mac操作技巧 | 键盘侠必备快捷键
  13. python URL解析转换成字典
  14. fttp项目下载和上传
  15. 【C语言】一文搞懂C语言文件操作
  16. Android音频编解码和混音实现
  17. 【Angular 基础入门】——知识点整合
  18. listview条目有下划线
  19. 人体骨骼关键点检测的算法
  20. Linux中awk详解(2)

热门文章

  1. 搭载敏捷飞天底座 阿里云专有云敏捷版全面升级 | 凌云时刻
  2. 开源实战 | 手把手教你在 Azure 上畅享 SAP、SUSE全套解决方案
  3. 【气动学】基于matlab气动力导弹姿态控制【含Matlab源码 969期】
  4. 【图像直线拟合】基于matlab最小二乘法图像直线拟合【含Matlab源码 100期】
  5. 通用逼近定理证明_通用逼近定理:代码证明
  6. C++笔记----运算符重载
  7. java biginteger 比较大小,Java BigInteger compareTo()用法及代码示例
  8. php检索条件丢失,php – 从SQL Server检索时丢失的某些图像的一部分
  9. 目前最常用的计算机机箱类型为_2016年自考《计算机应用基础》精选习题四
  10. 解决python3报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xaa in position 1: ordinal not in ra