锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成av人在线视,亚洲av无码一区二区三区网站 ,亚洲成片观看四虎永久http://m.tkk7.com/pudgy/category/2762.html<SCRIPT> var dict_width = 'auto' var dict_height = '72px' var dict_background = 'transparent' var dict_border = '0px dotted #000000' var dict_textColor = '#6FBC4C' var dict_fontSize = '100%' var dict_encoding = 'Utf-8' </SCRIPT> <SCRIPT src="http://livid.cn/services/fortune"></SCRIPT> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script>zh-cnThu, 01 Mar 2007 13:06:23 GMTThu, 01 Mar 2007 13:06:23 GMT60ImageIO 's IIOReadProgressListenerhttp://m.tkk7.com/Pudgy/archive/2005/08/16/10215.htmlPudgy's WorldPudgy's WorldTue, 16 Aug 2005 04:19:00 GMThttp://m.tkk7.com/Pudgy/archive/2005/08/16/10215.htmlhttp://m.tkk7.com/Pudgy/comments/10215.htmlhttp://m.tkk7.com/Pudgy/archive/2005/08/16/10215.html#Feedback0http://m.tkk7.com/Pudgy/comments/commentRss/10215.htmlhttp://m.tkk7.com/Pudgy/services/trackbacks/10215.htmlRecently, I am working on graphic project. This project I faced is a big challenge to me. Here is a sloution to show the progress bar when loading the image from the net.
PS:
If you install the JAI, it will break the progress interrupt.
See this in Sun's Bug Database http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4842452


  1 import java.awt.BorderLayout;
  2 import java.awt.event.ActionEvent;
  3 import java.awt.event.ActionListener;
  4 import java.awt.image.BufferedImage;
  5 import java.io.IOException;
  6 import java.net.MalformedURLException;
  7 import java.net.URL;
  8 import java.util.Iterator;
  9 
 10 import javax.imageio.ImageIO;
 11 import javax.imageio.ImageReader;
 12 import javax.imageio.event.IIOReadProgressListener;
 13 import javax.imageio.stream.ImageInputStream;
 14 import javax.swing.*;
 15 
 16 public class IIOProgressTest
 17 {
 18     public static void main(String[] args)
 19     {
 20         try {
 21             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
 22         } catch (Exception e) {
 23             e.printStackTrace();
 24         }
 25 
 26         final JLabel imageLabel = new JLabel();
 27         JScrollPane scrollPane = new JScrollPane(imageLabel);
 28         final JButton startBtn = new JButton("Load Image");
 29         final JProgressBar progressBar = new JProgressBar();
 30         progressBar.setVisible(false);
 31         JPanel p = new JPanel(new BorderLayout(55));
 32         p.add(startBtn, BorderLayout.WEST);
 33         p.add(progressBar, BorderLayout.CENTER);
 34         
 35         final IIOReadProgressListener progressListener = new IIOReadProgressListener() {
 36             public void imageStarted(ImageReader source, int imageIndex)
 37             {
 38                 SwingUtilities.invokeLater(new Runnable()
 39                 {
 40                     public void run()
 41                     {
 42                         startBtn.setEnabled(false);
 43                         progressBar.setValue(0);
 44                         progressBar.setVisible(true);
 45                         invalidate();
 46 
 47                     }
 48                 });
 49             }
 50             public void imageProgress(ImageReader source, final float percentageDone)
 51             {
 52                 SwingUtilities.invokeLater(new Runnable()
 53                 {
 54                     public void run()
 55                     {
 56                         System.out.println("percentageDone" + percentageDone);
 57                         progressBar.setValue((int) (percentageDone));
 58                     }
 59                 });
 60             }
 61             public void imageComplete(ImageReader source) 
 62             {
 63                 SwingUtilities.invokeLater(new Runnable()
 64                 {
 65                     public void run()
 66                     {
 67                         startBtn.setEnabled(true);
 68                         progressBar.setValue(100);
 69                         progressBar.setVisible(false);
 70                     }
 71                 });
 72             }
 73 
 74             public void sequenceStarted(ImageReader source, int minIndex) {}
 75             public void sequenceComplete(ImageReader source) {}
 76             public void thumbnailStarted(ImageReader source, int imageIndex, int thumbnailIndex) {}
 77             public void thumbnailProgress(ImageReader source, float percentageDone) {}
 78             public void thumbnailComplete(ImageReader source) {}
 79             public void readAborted(ImageReader source) {}
 80         };
 81 
 82         startBtn.addActionListener(new ActionListener()
 83         {
 84             public void actionPerformed(ActionEvent e)
 85             {
 86                 final String urlStr = JOptionPane.showInputDialog(
 87                         SwingUtilities.getWindowAncestor(startBtn), "Input image URL");
 88                 if (urlStr == null) {
 89                     return;
 90                 }
 91 
 92                 new Thread() {
 93                     public void run()
 94                     {
 95                         try {
 96                             URL url = new URL(urlStr);
 97                             ImageInputStream iis = ImageIO.createImageInputStream(url.openStream());
 98                             Iterator iter = ImageIO.getImageReaders(iis);
 99                             if (iter.hasNext()) {
100                                 ImageReader reader = (ImageReader) iter.next();
101                                 reader.setInput(iis);
102                                 reader.addIIOReadProgressListener(progressListener);
103                                 BufferedImage image = reader.read(reader.getMinIndex());
104                                 final ImageIcon icon = new ImageIcon(image);
105 
106                                 SwingUtilities.invokeLater(new Runnable()
107                                 {
108                                     public void run()
109                                     {
110                                         imageLabel.setIcon(icon);
111                                         imageLabel.revalidate();
112                                     }
113                                 });
114                             }
115                         } catch (MalformedURLException e) {
116                             e.printStackTrace();
117                         } catch (IOException e) {
118                             e.printStackTrace();
119                         }
120                     }
121                 }.start();
122             }
123         });
124 
125         JFrame f = new JFrame("IIOProgressTest");
126         f.getContentPane().setLayout(new BorderLayout(55));
127         f.getContentPane().add(scrollPane, BorderLayout.CENTER);
128         f.getContentPane().add(p, BorderLayout.SOUTH);
129         f.setSize(800600);
130         f.setLocationRelativeTo(null);
131         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
132         f.setVisible(true);
133     }
134 }
135 



Pudgy's World 2005-08-16 12:19 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产亚洲精品一品区99热| 在线免费观看一级毛片| 亚洲一本大道无码av天堂| 亚洲日韩一区二区一无码| 2020久久精品国产免费| 4444亚洲国产成人精品| 99久热只有精品视频免费看| 亚洲avav天堂av在线不卡| 久久国产免费一区| 色婷婷亚洲十月十月色天| 午夜精品射精入后重之免费观看| 亚洲电影一区二区| 最近2019中文字幕免费大全5| 亚洲男人都懂得羞羞网站| 久久午夜伦鲁片免费无码| 亚洲日韩国产精品无码av| 亚洲免费福利视频| 国产精品亚洲综合五月天| 天天拍拍天天爽免费视频| 久久亚洲中文字幕无码| 亚洲中文字幕伊人久久无码| 中文字幕看片在线a免费| 亚洲AV中文无码字幕色三| 91九色精品国产免费| 亚洲国产成人AV在线播放| 亚洲国产成人VA在线观看| 三级黄色免费观看| 亚洲综合激情视频| 成人毛片免费网站| 国产免费内射又粗又爽密桃视频| 久久99国产亚洲高清观看首页| 免费无码中文字幕A级毛片| 中国亚洲呦女专区| 4338×亚洲全国最大色成网站| 久久国产精品成人片免费| 亚洲精品亚洲人成在线| 亚洲日韩国产精品第一页一区| 日本免费人成在线网站| 水蜜桃视频在线观看免费| 亚洲精品国产手机| 精品国产亚洲男女在线线电影|