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

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

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图1 图2 图3 图4 图5 图6 怎么样,java swing可视化编程。适合对java swing有所了解的java爱好者。如果有兴趣就继续往下看,别见笑! 包含的内容: 整个窗口为一个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);

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档