java-swing编程(一个简单的图片查看器)

java-swing编程(一个简单的图片查看器)

ID:34723685

大小:399.68 KB

页数:14页

时间:2019-03-10

java-swing编程(一个简单的图片查看器)_第1页
java-swing编程(一个简单的图片查看器)_第2页
java-swing编程(一个简单的图片查看器)_第3页
java-swing编程(一个简单的图片查看器)_第4页
java-swing编程(一个简单的图片查看器)_第5页
资源描述:

《java-swing编程(一个简单的图片查看器)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、图1图2图3图4图5图6怎么样,javaswing可视化编程。适合对javaswing有所了解的java爱好者。如果有兴趣就继续往下看,别见笑!包含的内容:1.整个窗口为一个JFrame。2.最上方的JMenuBar。3.中间最大的那块区域——mainPanel。4.右侧边栏——rightPanel。5.底部的一栏——basePanel。主要功能:JMenuBar里设置了两个菜单项——File和Help。File里有打开文件、关闭文件和退出菜单项。单击Open...或者按快捷键alt+O,弹出JFileChooser文件选择对话框,选择图片文件

2、(这里支持jpg、jpeg、gif、tif、tiff和png五种格式)后,图片将在mainPanel里显示。同一文件夹下的其他图片文件显示在rightPanel,如果图片很多可以出现滑动条。basePanel里有两个按钮和一个显示当前图片序号和图片总数的标签;按钮可以往上往下翻图片,主面板、右侧边栏和标签都会动态更新。如果到了最后一张,“下一个”按钮被禁用;第一张时,“上一个”被禁用。同理在右侧边栏里选图片其它地方也都可以动态更新。点File里的Close时,会清空mainPanel,rightPanel和标签中显示的内容,禁用两个按钮,效果(

3、如图1)就像是还没有打开文件一样。点退出时关闭Frame,结束程序。下面正式开始介绍程序。注:这里所讲的和提供的源码稍有差异,有兴趣的可以结合文中给出的代码去编写自己的类。程序分为四部分,分别为三个面板的建立。最后组合在一起,放在一个JFrame里,加入菜单栏,各种监听器。PartI写主面板类——MainPanel可以从JPanel继承。MainPanel相对与JPanel,多了一个图像显示的功能,所以里面一定要有获取图片的方法,还必须重载paintComponent方法。关于paintComponent这我想多说一点。可视化组件要完成显示的工

4、作一般都要调用paint方法,而paint方法又把绘图任务交给了三个方法:paintComponent,paintBorder,和paintChildren。我们只需把需要个性定制的实现代码放在paintComponent方法里,在添加你的代码之前记得一定要调用super.paintComponent。在写自己的实现方法前一定要记住给自己留一条退路。什么退路?比如说我们前面提到的关闭文件方法,要实现一定的清理工作,等价于不在原组件里画图。这里我们可以这样实现:@overridepublicvoidpaintComponent(Graphicsg

5、){super.paintComponent(g);/*Customizeyourpaintplanshere.*/if(image!=null){/*假设image就是需要显示的图片*//*yourcodetopainttheimage*/}}一般情况下,我们不能直接调用paint方法,当需要更新显示内容时直接调用repaint。repaint先完成一定的清理工作然后会调用paint,paint又调用paintComponent,就可以显示出你画的东西了。要让MainPanel类获取图片,可以给它传一个ImageIcon,或图片文件或其它任何

6、可以得到图片的东西。我们从JFileChooser中得到的是图片文件,直接把图片文件或者经转化为ImageIcon后作为参数传递给MainPanel。具体如下:/*MainPanel.java*//*importeveryclassneededhere*/publicclassMainPanelextendsJPanel{protectedFileimgFile;protectedImageIconimg;publicPaintImage(){/*addyourcodehere*/}publicvoidsetImageFile(FilenewI

7、mgFile){imgFile=newImgFile;ImageIconnewImg=newImageIcon(imgFile.getPath());setImage(newImg);}publicvoidsetImage(ImageIconnewImg){img=newImg;repaint();}publicvoidpaintComponent(Graphicsg){super.paintComponent(g);if(img!=null){Util.paintImg(this,g,img);/*paintImg是类Util里的一个方法,用

8、来画img*/}}}上述我们已经完成了MainPanel类的创建。下面写一个测试类,看看效果:/*MainPanelTest.java*//*impo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。