当前位置: 代码迷 >> J2SE >> java swing 图片输出解决方法
  详细解决方案

java swing 图片输出解决方法

热度:6718   发布时间:2013-02-25 00:00:00.0
java swing 图片输出
Java code
package com.hello.model;import java.awt.Graphics;import java.awt.Image;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.*;public class NewImage {    public static void main(String[] args) throws IOException     {        JFrame frame = new JFrame();        Image image = new ImageIcon("icon/baidu2.gif").getImage().getScaledInstance(33, -1, Image.SCALE_DEFAULT);        MyPanel canvas = new MyPanel(image);                frame.add(new JScrollPane(canvas));        frame.pack();        frame.setVisible(true);        }}class MyPanel extends JPanel{    Image image ;    final int ICON_WIDTH = 23;    final int ICON_HEIGHT = 22;        public MyPanel(Image image)    {        this.image = image;    }    public void paint(Graphics g)    {        g.drawImage( new ImageIcon("icon/baidu2.gif").getImage().getScaledInstance(33, -1, Image.SCALE_DEFAULT),(getWidth() - ICON_WIDTH)/2,(getHeight() - ICON_WIDTH)/2,null);// 1  这样写不会有图片输出        //g.drawImage(image),(getWidth() - ICON_WIDTH)/2,(getHeight() - ICON_WIDTH)/2,null); //2  可以输出图片    }}



我郁闷了,这两处完全是等价啊。。。。

------解决方案--------------------------------------------------------
有能用的就用好使的呗 你要解决什么问题
------解决方案--------------------------------------------------------
问题出在getScaledInstance上,把这个函数使用去掉,就可以显示图像了; 但我也没弄明白为啥getScaledInstance函数调用返回的不显示
  相关解决方案