网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Struts实时生成Excel文件下载.
.java设计模式之 Proxy(代理).
.Thinking in Java第三版读书笔记.
.用ZipOutputStream压缩目录.
.Java 中怎样在程序中设置代理服务.
.Java实战篇:设计自己的Annotati.
.jakarta commons-dbcp.
.SpringMVCframework深入总体分析.
.GetObject 函数.
.面向对象-Java对象序列化.
.J2EE技巧:关于提升JSP应用程序的.
.百分之百纯 Java(TM) java名词 解.
.JAVA程序员必读:基础篇(2.a)语言.
.JBuilder2005实现重构之升级到JD.
.《Effective Java》学习笔记(4).
.Java 5.0 多线程编程实.
.Java加密扩展基础.
.CORBA对象生命周期之生命周期的评.
.标签库的深入研究.
.Weblogic 6.0中Servlet的注册方法.

一个浏览图片程序

发表日期:2008-1-5



import Javax.swing.*; 
import java.awt.Graphics; 
import java.awt.*; 
import java.awt.event.*; 

public class ImageViewer extends JFrame{ 

Image imageFirst;//初始图像 
ImagePanel panel=new ImagePanel();//用来显示图像的panel 

JMenuBar jmb=new JMenuBar(); 

JMenu file=new JMenu("File"); 
JMenu modify=new JMenu("Modify"); 

JMenuItem open=new JMenuItem("open"); 
JMenuItem exit=new JMenuItem("exit"); 

ButtonGroup bg=new ButtonGroup(); 
JRadioButtonMenuItem rate1=new JRadioButtonMenuItem("to 50%");//这三个菜单项 
JRadioButtonMenuItem rate2=new JRadioButtonMenuItem("to 100%");//用来改变图像 
JRadioButtonMenuItem rate3=new JRadioButtonMenuItem("to 200%");//显示的大小 

JToolBar toolbar=new JToolBar();//只有一个button简单的toolbar 
JButton button=new JButton("A JToolBar Contain A Jbutton"); 

ImageViewer(){ 

this.getContentPane().setLayout(null); 

this.setBounds(200,200,500,400); 
this.setResizable(false); 
this.setTitle("ImageViewer"); 

imageFirst=java.awt.Toolkit.getDefaultToolkit().getImage("images/opean.gif"); 
panel.setImage(imageFirst); 

jmb.add(file); 
jmb.add(modify); 

open.addActionListener(new OpenAction()); 
file.add(open); 
file.add(exit); 

bg.add(rate1); bg.add(rate2); bg.add(rate3); 
modify.add(rate1); 
modify.add(rate2); rate2.setSelected(true); 
modify.add(rate3); 

rate1.addItemListener(new ItemListener(){ 
public void itemStateChanged(ItemEvent e){ 
if(rate1.isSelected()==true){ 
panel.setRate(0.5); 
System.out.println("rate1 been selected!"); 
panel.repaint(); 


}); 

rate2.addItemListener(new ItemListener(){ 
public void itemStateChanged(ItemEvent e){ 
if(rate2.isSelected()==true){ 
panel.setRate(1); 
System.out.println("rate2 been selected!"); 
panel.repaint(); 


}); 

rate3.addItemListener(new ItemListener(){ 
public void itemStateChanged(ItemEvent e){ 
if(rate3.isSelected()==true){ 
panel.setRate(2); 
System.out.println("rate3 been selected!"); 
panel.repaint(); 


}); 
exit.addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e){ 
System.exit(0); 
}}); 

this.setJMenuBar(jmb); 

panel.setBounds(0,30,this.getWidth(),this.getHeight()-60); 
this.getContentPane().add(panel); 

button.addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e){ 
JOptionPane.showMessageDialog(null,this); 

}); 
toolbar.add(button); 
toolbar.setLayout(new GridLayout()); 
toolbar.setBackground(Color.blue); 
toolbar.setBounds(0,0,500,30); 
this.getContentPane().add(toolbar); 
}//SwingDemo1 

//主方法 
public static void main(String argv[]){ 

JFrame.setDefaultLookAndFeelDecorated(true); 
ImageViewer app=new ImageViewer(); 
app.setVisible(true); 

app.repaint(); 


//内部类 菜单项opean处理事件 
class OpenAction implements ActionListener{ 
public void actionPerformed(ActionEvent e){ 

JFileChooser fc = new JFileChooser(); 
int returnVal = fc.showDialog(new ImageViewer(), "Open file"); 
String file = fc.getSelectedFile().getPath(); 
panel.setImage(file); 
panel.repaint(); 

System.out.println("open file action performed"); 





//外部类  Panel用来显示image 
class ImagePanel extends JPanel 

private Image image; 
private double rate=1; 

Dimension offDimension; 
Image offImage; 
Graphics offGraphics; 

ImagePanel(){ 
this.setBackground(Color.blue); 


public void update(Graphics g){ 
if(image!=null){ 
g.drawImage(image,0,0, 
(int)(this.getWidth()*rate/2),(int)(this.getHeight()*rate/2), 
this.getRootPane()); 

else 
{g.setColor(Color.red); 
g.fillRect(0,0,(int)(250*rate),(int)(200*rate)); 


public void paint(Graphics g){ 
update(g); 


public void setImage(Image image){ 
this.image=image; 


public void setRate(double rate){ 
this.rate=rate; 


public void setImage(String s){ 
this.image=java.awt.Toolkit.getDefaultToolkit().getImage(s); 


上一篇:一个文本上传Bean的例子 人气:1317
下一篇:一位高级程序员给学弟学妹的建议(转载) 人气:657
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐