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);//在面板上绘制图片内容
}
}
分享到:
相关推荐
标签:github、jai、imageio、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
标签:github、jai、imageio、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
在Java开发中,将WebP格式与ImageIO结合使用可以增强应用程序对现代图像格式的支持。 `webp-imageio-10.和1.6(不要积分)`这个标题可能指的是两个不同版本的WebP ImageIO插件,分别是1.0和1.6。这些插件扩展了Java...
标签:github、jai、imageio、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
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 库的深入解析》 ...总的来说,"webp-imageio-0.4.2" 提供了在 Java 中方便地处理 WebP 图像的能力,扩展了 ImageIO 的功能,对于需要处理 WebP 图像的开发者来说,是一个不可或缺的工具。
jai-imageio-core-1.3.0.1.jar jai-imageio-core-1.3.0.1.jar
一个可以支持通过Java进行图片转换的jar包,封装好了跨平台动态链接库调用支持。https://link.zhihu.com/?target=https%3A//github.com/nintha/webp-imageio-core
dcm4che-imageio-opencv-5.22.5
在Java开发中,图形用户界面(GUI)的创建和图像处理是两个重要的方面。本文将深入探讨标题和描述中提到的两个关键库:`jai-imageio-1.1.jar`和`swingx-1.6.1.jar`,它们在图形处理领域中的作用以及如何在Java项目中...
这两个库在Java开发中用于图形处理和用户界面设计,特别适用于需要高级图像操作和Swing扩展的应用。 首先,我们来详细探讨`jai-imageio-1.1.jar`。这个库是Java Advanced Imaging Image I/O (JAI Image I/O)的一...
javaweb常用jar包,javaee框架常用jar包,亲测可用,若需其他版本可给我留言
WebP是一种由Google开发的高效图像格式,它旨在提供更小的文件大小,同时保持良好的图像质量,适用于网页和其他网络应用。 【描述】中的文件列表如下: 1. **luciad-webp-imageio-2962dd563583**:这可能是一个...
标签:github、jai、imageio、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
`jai-imageio-1.1.jar`是Java Advanced Imaging (JAI) Image I/O库的一部分,这是一个用于处理图像输入输出的扩展框架。JAI是由Sun Microsystems开发的,它提供了一组高级图像操作,如旋转、缩放、色彩空间转换等。...
1. **webp-imageio.jar**:这是一个Java库,实现了对WebP格式的支持,允许开发者在Java应用程序中读取、写入和转换WebP图像。它基于Image I/O API,使得在Java环境中处理WebP文件变得简单。`webp-imageio-0.4.2`版本...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
in java.library.path的解决办法及eclipse配置 java一般使用两个path:classpath 和 java.library.path classpath是指向jar包的位置 java.library.path是非java类包的位置如(dll,so) 解决办法: 1:LINUX下的...
用法将 webp-imageio.jar 添加到应用程序的类路径确保 libwebp-imageio.so、libwebp-imageio.dylib 或 webp-imageio.dll 可在 Java 本机库路径(java.library.path 系统属性)上访问WebP 读取器和写入器可以像任何...
WebP是一种由Google开发的高效图像格式,旨在提供高质量、高压缩率的图片,用于网络上的数据传输。它支持有损和无损压缩,并且内置了Alpha透明度和动画功能,使得它在网页设计和移动应用中变得越来越受欢迎。本文将...