`
jiqimiao
  • 浏览: 63253 次
  • 性别: Icon_minigender_1
  • 来自: 常州
社区版块
存档分类
最新评论

java图像界面开发简单实例-ImageIO、JFileChooser、JMenu、JPanel的应用

 
阅读更多

java图像界面开发简单实例

ImageIO,JFileChooser,JMenu,JPanel的应用,JLabel,JFileChooser,JMenu应用例子中图片是通过设置JLabel的Icon属性来实现图片浏览的,本例则通过JPanel,利用ImageIO来读取相应文件,显示图片,代码如下:

importjava.awt.Graphics;
importjava.awt.Image;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.File;
importjava.io.IOException;

importjavax.imageio.ImageIO;
importjavax.swing.JFileChooser;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JPanel;

/**
*ImageIO的简单应用实例
*
@author左杰jdk5.0
*
*/
publicclassExample7FrameextendsJFrame{

privatestaticfinallongserialVersionUID=1L;
privateJLabellabel;
privateJFileChooserfileChooser;
privateImagePanelpanel;
publicExample7Frame(){
setTitle(
"图片浏览");//设置窗体标题
setSize(500,400);//设置窗体大小
//创建标签对象
label=newJLabel();
add(label);
//在窗体上添加标签
//创建文件选择器对象
fileChooser=newJFileChooser();
fileChooser.setCurrentDirectory(
newFile("."));//设置默认路径为当前目录
//创建菜单栏
JMenuBarmenuBar=newJMenuBar();
setJMenuBar(menuBar);
//在窗体上添加菜单栏
//添加菜单项
JMenumenu=newJMenu("文件");
menuBar.add(menu);
//在菜单栏中添加菜单项
//添加“打开”子菜单项
JMenuItemopenItem=newJMenuItem("打开");
menu.add(openItem);
//在菜单项中添加子菜单项
panel=newImagePanel();//创建显示图片面板
add(panel);//窗体中添加图片面板
//为“打开”菜单添加事件及监听
openItem.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventevent){
//显示文件选择器
intresult=fileChooser.showOpenDialog(null);
//如果选择文件则显示在标签中
if(result==JFileChooser.APPROVE_OPTION){
Stringname
=fileChooser.getSelectedFile().getPath();//获取选择文件的路径
panel.setImage(name);//设置图片路径
panel.repaint();//更新面板
}
}
});
//添加“退出”子菜单项
JMenuItemexitItem=newJMenuItem("退出");
menu.add(exitItem);
//在菜单项中添加子菜单项
//为“退出”菜单添加事件及监听
exitItem.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventevent){
System.exit(
0);
}
});
}

publicstaticvoidmain(String[]args){
Example7Frameframe
=newExample7Frame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(
true);
}
}

/**
*创建用于显示图片的面板
*/
classImagePanelextendsJPanel{

privatestaticfinallongserialVersionUID=1L;
privateImageimage;
privateintshowWdith;
privateintshowHeight;
publicvoidsetImage(StringfileName){
//读取图片文件
try{
image
=ImageIO.read(newFile(fileName));
}
catch(IOExceptione){
e.printStackTrace();
}
}

publicvoidpaintComponent(Graphicsg){
super.paintComponent(g);
if(image==null)
return;
//获取图像文件的宽度和高度
intimageWidth=image.getWidth(this);
intimageHeight=image.getHeight(this);
//获取面板的高度和宽度
intwidth=getWidth();
intheight=getHeight();
//图片最大显示为面板的大小
if(imageWidth>width){
this.showWdith=width;
}
else{
this.showWdith=imageWidth;
}
if(imageHeight>height){
this.showHeight=height;
}
else{
this.showHeight=imageHeight;
}
g.drawImage(image,
0,0,showWdith,showHeight,null,null);//在面板上绘制图片内容
}
}
分享到:
评论

相关推荐

    jai-imageio-core-1.4.0-API文档-中文版.zip

    标签:github、jai、imageio、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...

    jai-imageio-core-1.3.0-API文档-中文版.zip

    标签:github、jai、imageio、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...

    webp-imageio-10.和1.6(不要积分)

    在Java开发中,将WebP格式与ImageIO结合使用可以增强应用程序对现代图像格式的支持。 `webp-imageio-10.和1.6(不要积分)`这个标题可能指的是两个不同版本的WebP ImageIO插件,分别是1.0和1.6。这些插件扩展了Java...

    jai-imageio-core-1.4.0-API文档-中英对照版.zip

    标签:github、jai、imageio、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    webp-imageio built for x64

    java环境下生成webp文件所用到的库,libwebp-imageio.so for Linux,webp-imageio.dll for Windows,webp-imageio-1.0.0.jar for java project。项目文件:https://bitbucket.org/luciad/webp-imageio

    webp-imageio-0.4.2.zip

    《WebP 图像处理与 ImageIO 库的深入解析》 ...总的来说,"webp-imageio-0.4.2" 提供了在 Java 中方便地处理 WebP 图像的能力,扩展了 ImageIO 的功能,对于需要处理 WebP 图像的开发者来说,是一个不可或缺的工具。

    webp-imageio-core-0.1.3.jar

    一个可以支持通过Java进行图片转换的jar包,封装好了跨平台动态链接库调用支持。https://link.zhihu.com/?target=https%3A//github.com/nintha/webp-imageio-core

    jai-imageio-core-1.3.0.1.jar

    jai-imageio-core-1.3.0.1.jar jai-imageio-core-1.3.0.1.jar

    dcm4che-imageio-opencv-5.22.5.jar

    dcm4che-imageio-opencv-5.22.5

    【图形处理相关的jar包】jai-imageio-1.1.jar和swingx-1.6.1.jar下载

    在Java开发中,图形用户界面(GUI)的创建和图像处理是两个重要的方面。本文将深入探讨标题和描述中提到的两个关键库:`jai-imageio-1.1.jar`和`swingx-1.6.1.jar`,它们在图形处理领域中的作用以及如何在Java项目中...

    jai-imageio和swingx.jar.zip

    这两个库在Java开发中用于图形处理和用户界面设计,特别适用于需要高级图像操作和Swing扩展的应用。 首先,我们来详细探讨`jai-imageio-1.1.jar`。这个库是Java Advanced Imaging Image I/O (JAI Image I/O)的一...

    jai-imageio-core-1.3.1.jar

    javaweb常用jar包,javaee框架常用jar包,亲测可用,若需其他版本可给我留言

    webp-imageio.7z

    WebP是一种由Google开发的高效图像格式,它旨在提供更小的文件大小,同时保持良好的图像质量,适用于网页和其他网络应用。 【描述】中的文件列表如下: 1. **luciad-webp-imageio-2962dd563583**:这可能是一个...

    jai-imageio-core-1.3.0-API文档-中英对照版.zip

    标签:github、jai、imageio、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    图形处理相关的jar包:jai-imageio-1.1.jar swingx-1.6.1.jar( Tesseract-OCR相关项目所需要的jar包)

    `jai-imageio-1.1.jar`是Java Advanced Imaging (JAI) Image I/O库的一部分,这是一个用于处理图像输入输出的扩展框架。JAI是由Sun Microsystems开发的,它提供了一组高级图像操作,如旋转、缩放、色彩空间转换等。...

    webp-imageio-0.4.2 libwebp-1.0.0

    1. **webp-imageio.jar**:这是一个Java库,实现了对WebP格式的支持,允许开发者在Java应用程序中读取、写入和转换WebP图像。它基于Image I/O API,使得在Java环境中处理WebP文件变得简单。`webp-imageio-0.4.2`版本...

    jai-imageio-core-1.3.0.jar中文-英文对照文档.zip

    中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...

    no webp-imageio in java.library.path(webp-imageio-0.4.2.jar dll so)

    in java.library.path的解决办法及eclipse配置 java一般使用两个path:classpath 和 java.library.path classpath是指向jar包的位置 java.library.path是非java类包的位置如(dll,so) 解决办法: 1:LINUX下的...

    webp-imageio:这个项目是来自

    用法将 webp-imageio.jar 添加到应用程序的类路径确保 libwebp-imageio.so、libwebp-imageio.dylib 或 webp-imageio.dll 可在 Java 本机库路径(java.library.path 系统属性)上访问WebP 读取器和写入器可以像任何...

    webp-imageio-动态库.rar

    WebP是一种由Google开发的高效图像格式,旨在提供高质量、高压缩率的图片,用于网络上的数据传输。它支持有损和无损压缩,并且内置了Alpha透明度和动画功能,使得它在网页设计和移动应用中变得越来越受欢迎。本文将...

Global site tag (gtag.js) - Google Analytics