网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,移动开发
本月文章推荐
.我的Java矢量软件之路3--想象篇.
.入门基础 Java参数传递方式.
.SWT/JFace入门指南之让SWT程序动.
.Hibernate+ehcache二级缓存技术.
.关于Java中文问题的几条分析原则.
.一些面向对象的设计法则(2).
.布尔逻辑运算符.
.捕获所有违例.
.学习java需要知道的一些问题.
.java.applet.Applet的网络功能(&.
.Class文件详解 (1).
.WebLogic7中的JDBC Pool的配置.
.关于WebWork2中的中文问题 选择自.
.诺基亚亲密接触Eclipse 深化开源.
.在Wicket里面使用一个自己WebSes.
.让界面更加绚丽 Java SE 6.0四种.
.再谈JAVA学习入门.
.J2EE应用服务器JOnAS发布4.4.2 R.
.jdk1.4_01实现Applet的数字签名认.
.JakartaStruts简介(一).

java图像浏览器

发表日期:2008-1-5



  //显示对象为jpg,gif canvas中画图使用double buffering,使用scroll bar显示,显示区域固定了,可以扩展成按照canvas的大小来显示的模式,因为canvas放在center位置。 import Java.awt.*; import java.awt.event.*; import java.awt.image.*; import javax.swing.*; class Frameext extends Frame { } public class Images extends Frame implements ActionListener, WindowListener ,WindowStateListener { //Frameext fr = new Frameext(); Label Label1 = new Label(" ",Label.LEFT); //will show the file name Button Button1 = new Button("open file"); int XPos,ypos; int imageHeight; int w,h; Image offimg, bg; Graphics offg; boolean first=true; //extends Canvas. This code will use its paint method. public MyCanvas Canvas1 = new MyCanvas(); static Scrollbar horizontal, vertical; //scrollbar used FileDialog fd = new FileDialog(this,"Open", FileDialog.LOAD); Image Image1; public void initialize() { //System.out.println(" dddddd "+this.MAXIMIZED_BOTH); //this.setLocation(0, 0); //this.setSize(this.getToolkit().getScreenSize()); this.setSize(600,600); this.setLocation(30,30); this.setBackground(Color.lightGray); Canvas1.setBackground(Color.white); Canvas1.setSize(580,580); //ColorChooserDialog colorDialog = new ColorChooserDialog(this, "@fff", this); this.add ("North", horizontal = new Scrollbar (Scrollbar.HORIZONTAL)); this.add ("East", vertical = new Scrollbar (Scrollbar.VERTICAL)); Panel pa=new Panel(); pa.setBackground(Color.white); Label1.setBackground(Color.lightGray); Label1.setAlignment(Label.LEFT); pa.add(Label1); pa.add(Button1); //add label and button on panel this.add("South",pa); //add panel at south this.add("Center",Canvas1); this.addWindowListener(this); this.addWindowStateListener (this); Button1.addActionListener(this); try { System.out.println ("getsize" + Canvas1.getSize () + "getwidth" + Canvas1.getWidth () + "getheight " + Canvas1.getHeight ()); } catch (Exception e) {System.out.println(e.toString()); } this.pack(); this.show(); } void imageload () { fd.setFile("*.jpg;*.gif"); //file speicific fd.show(); if(fd.getFile() == null) { Label1.setText("You have not chosen any image files yet"); } else { String d = (fd.getDirectory() + fd.getFile()); Image1 = Toolkit.getDefaultToolkit().getImage(d); if(Image1==null) {System.out.println("image is null of this file:"+ d); return; } Label1.setText(d); System.out.println("image loaded "+d); //It is important to use Canvas1 as the ImageObserver. MediaTracker mt = new MediaTracker(Canvas1); //here should be noticed like the author say mt.addImage(Image1, 0); try { mt.waitForAll(); } catch (InterruptedException e) { System.out.println(e.toString()); } w = Image1.getWidth (this); h = Image1.getHeight (this); //set w and h the image's height and width System.out.println("image width and height is"+w+" "+h); if (offimg != null && (offimg.getHeight (this) < h offimg.getWidth (this) < w)) { //shall we recreate the offimg for double buffering if the image is larger System.out.println ("offimage w and h " + offimg.getHeight (this) + " " + offimg.getWidth (this) + " w " + w + " h " + h); offimg = createImage (w, h); offg = offimg.getGraphics (); } vertical.setMaximum(h-390); //here important set scroll bar 's maximum //imagesize minus (showsize minus insects size first) , //you can determ the insects by program or simple set the maximum to //a certain number,and then you scroll it down and trace when it reach //the boundary,the value does not agree with the maximum number you set //and the difference may be the insects size you shall minus first // vertical.setVisibleAmount((h-290)/10); //if we try to set the visibleamount to a variable ,the scroll by will be uncertain and //hard to contral horizontal.setMaximum(w-440); // horizontal.setVisibleAmount((w-390)/10); Canvas1.repaint(); //image loaded so repaint the canvas // Canvas1.paint(); } } public boolean handleEvent (Event e) { // System.out.println("catched "+e);//we can see clearly what event happen if we don't comment this sentence if (e.id == Event.WINDOW_DESTROY) { System.exit(0); } else if (e.target instanceof Scrollbar) { System.out.println(" scoll of handleevent " ); if (e.target == horizontal) { xpos = ((Integer)e.arg).intValue(); //trace the scroll value for image show later } else if (e.target == vertical) { ypos = ((Integer)e.arg).intValue(); } System.out.println(" "+xpos+""+ypos); //System.out.println(" checking hereeeeeeeeeeeeeee" ); Canvas1.repaint(); } return super.handleEvent(e); } public void windowStateChanged (WindowEvent e) { System.out.println ("window state changed"); Canvas1.repaint (); } public void windowClosing(WindowEvent e) { // Use this.hide(); for subsequent forms in multi form applications System.exit(0); } public void windowActivated(WindowEvent e) {System.out.println ("window activated");Canvas1.repaint();} public void windowClosed(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowOpened(WindowEvent e) {} public void actionPerformed(ActionEvent event) { System.out.println("catched2 "+event); Button b = (Button)event.getSource(); if(b == Button1) { imageload(); } } public static void main(String args[]) { Images a = new Images(); a.initialize(); } /* public void update(Graphics g) { Canvas1.update(g); } public void paint(Graphics g) { Canvas1.paint(g); } */ //A simple inner class to show the basics. class MyCanvas extends Canvas { public void update(Graphics g) { System.out.println(" update" ); if (offg != null&&Image1!=null) { offg.clearRect(50,50, 500,450); offg.drawImage(Image1,50,50, 500,450, xpos, ypos,450+xpos,400+ypos ,this); g.drawImage (offimg, 50, 50, this); System.out.println ("w and h is" + w + " " + h + " and count update is" + " offg " + offg); } } public void paint(Graphics g) { if (first) { offimg = createImage (getWidth (), getHeight ()); offg = offimg.getGraphics (); System.out.println ("w and h is" + w + " " + h + " and count update is" + " offg " + offg); first= false; } if (offg != null&&Image1!=null) //if delete this when the window state change,the image will not show { //you must scroll the bar by hand then it will show we show take care what the function of paint when repaint offg.clearRect(50,50, 500,450); offg.drawImage(Image1,50,50, 500,450, xpos, ypos,450+xpos,400+ypos ,this); g.drawImage (offimg, 50, 50, this); System.out.println ("w and h is" + w + " " + h + " and count update is" + " offg " + offg); } System.out.println ("this is paint"); } }//End of inner class. }
上一篇:Java Bean 生成器 人气:924
下一篇:java通过JDBC访问Oracle的2个异常 人气:1254
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐