日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > HTML >内容正文

HTML

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

發(fā)布時(shí)間:2023/12/9 HTML 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 简单图片浏览器_Java实现简单的图片浏览器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第一次寫(xiě)博客,不喜勿噴。

最近一個(gè)小師弟問(wèn)我怎么用Java做圖片瀏覽器,感覺(jué)好久沒(méi)玩Java了,就自己動(dòng)手做了一下。

學(xué)校的教程是用Swing來(lái)做界面的,所以這里也用這個(gè)來(lái)講。

首先要做個(gè)大概的界面出來(lái),eclipse有一個(gè)很好用的插件叫做WindowBuilder,可以可視化編輯界面,自動(dòng)幫你生成代碼。

界面如下:

可能有些同學(xué)不知道圖片該怎么弄出來(lái),其實(shí)很簡(jiǎn)單。

創(chuàng)建一個(gè)JLabel,然后里面不要寫(xiě)字。JLabel有一個(gè)icon的屬性,照片就放在這里面。

這里要注意的是,WindowBuilder生成的界面代碼一般是放在構(gòu)造方法里面的,里面的變量都是局部變量。而這個(gè)JLabel要設(shè)置為全局變量,因?yàn)橹蟮膱D片切換要用到這個(gè)變量。

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

因?yàn)闀r(shí)間有限,沒(méi)有做圖片自適應(yīng)。這里貼一個(gè)圖片自適應(yīng)的教程。

然后我們只需要更換圖片的地址,就能讓JLabel顯示不同的圖片,實(shí)現(xiàn)圖片瀏覽器的功能。

首先我們可以給之前做好的“open”按鈕添加一個(gè)點(diǎn)擊事件,點(diǎn)擊后可以調(diào)用JFileChooser來(lái)瀏覽本地的文件,獲取到選中的文件地址,然后存入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是一個(gè)分析文件的方法,主要是用于判斷讀取到的是文件夾還是文件,并將其中的圖片類(lèi)型的文件地址存到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,如果是就存進(jìn)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);

}//如果不是文件,就存是文件夾,按上一個(gè)if語(yǔ)句內(nèi)的寫(xiě)法,逐個(gè)分析文件夾內(nèi)的文件。區(qū)別就是這個(gè)存進(jìn)去的圖片地址可能有很多個(gè)。

} 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);

}

}

}

}

}

到這里,我們已經(jīng)可以讀取到文件夾內(nèi)的圖片了。然后我們要給“上一個(gè)”,“下一個(gè)”按鈕添加事件,在點(diǎn)擊的時(shí)候切換圖片。

其實(shí)就是很簡(jiǎn)單的一個(gè)判斷語(yǔ)句,這是“上一個(gè)”按鈕的判斷語(yǔ)句。

如果imglist的大小大于0,說(shuō)明列表內(nèi)有東西。然后判斷,如果現(xiàn)在讀取的這個(gè)照片是0,那么肯定就沒(méi)有上一個(gè)了,就讀取最后一張照片。

我在這里用了一個(gè)全局變量 nowindex 表示當(dāng)前讀取到的圖片,然后根據(jù)這個(gè)進(jìn)行加減或賦值就可以進(jìn)行切換了。

判斷后重新設(shè)置圖片的地址,就可以實(shí)現(xiàn)切換圖片了。

“下一個(gè)”的事件就反過(guò)來(lái)做就行了。

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]));

}

最后的運(yùn)行結(jié)果:

感謝閱讀~

總結(jié)

以上是生活随笔為你收集整理的java 简单图片浏览器_Java实现简单的图片浏览器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。