77范文网 - 专业文章范例文档资料分享平台

javaswing编程(一个简单图片查看器)

来源:网络收集 时间:2018-12-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

图1

图2

图3

图4

图5

图6

怎么样,java swing可视化编程。适合对java swing有所了解的java爱好者。如果有兴趣就继续往下看,别见笑!

包含的内容:

1. 2. 3. 4. 5.

整个窗口为一个JFrame。 最上方的JMenuBar。

中间最大的那块区域——mainPanel。 右侧边栏——rightPanel。 底部的一栏——basePanel。

主要功能:

JMenuBar里设置了两个菜单项——File和Help。File里有打开文件、关闭文件和退出菜单项。单击Open...或者按快捷键alt+O,弹出JFileChooser文件选择对话框,选择图片文件(这里支持jpg、jpeg、gif、tif、tiff和png五种格式)后,图片将在mainPanel里显示。同一文件夹下的其他图片文件显示在rightPanel,如果图片很多可以出现滑动条。basePanel里有两个按钮和一个显示当前图片序号和图片总数的标签;按钮可以往上往下翻图片,主面板、右侧边栏和标签都会动态更新。如果到了最后一张,“下一个”按钮被禁用;第一张时,“上一个”被禁用。同理在右侧边栏里选图片其它地方也都可以动态更新。 点File里的Close时,会清空mainPanel,rightPanel和标签中显示的内容,禁用两个按钮,效果(如图1)就像是还没有打开文件一样。 点退出时关闭Frame,结束程序。

下面正式开始介绍程序。 注:这里所讲的和提供的源码稍有差异,有兴趣的可以结合文中给出的代码去编写自己的类。

程序分为四部分,分别为三个面板的建立。最后组合在一起,放在一个JFrame里,加入菜单栏,各种监听器。

Part I 写主面板类——MainPanel

可以从JPanel继承。MainPanel相对与JPanel,多了一个图像显示的功能,所以里面一定要有获取图片的方法,还必须重载paintComponent方法。

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

public void paintComponent(Graphics g)

{ super.paintComponent(g); /*Customize your paint plans here.*/ if(image!=null){ /*假设image就是需要显示的图片*/ /*your code to paint the image*/ } }

一般情况下,我们不能直接调用paint方法,当需要更新显示内容时直接调用repaint。repaint先完成一定的清理工作然后会调用paint,paint又调用paintComponent,就可以显示出你画的东西了。

要让MainPanel类获取图片,可以给它传一个ImageIcon,或图片文件或其它任何可以得到图片的东西。我们从JFileChooser中得到的是图片文件,直接把图片文件或者经转化为ImageIcon后作为参数传递给MainPanel。具体如下: /*MainPanel.java*/

/*import every class needed here*/

public class MainPanel extends JPanel { protected File imgFile; protected ImageIcon img; public PaintImage() { /*add your code here*/ } public void setImageFile(File newImgFile) { imgFile = newImgFile; ImageIcon newImg = new ImageIcon(imgFile.getPath()); setImage(newImg); } public void setImage(ImageIcon newImg) { img = newImg; repaint(); } public void paintComponent(Graphics g) { super.paintComponent(g);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库javaswing编程(一个简单图片查看器)在线全文阅读。

javaswing编程(一个简单图片查看器).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/384168.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: