⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imagecomponent.java

📁 java开源邮件服务器 smtp pop3
💻 JAVA
字号:
import java.awt.*;
import java.awt.image.*;


public class ImageComponent extends Canvas implements ImageObserver
{
    Image image    = null;
    Image altImage = null;
    MediaTracker imageTracker;
    private String label;
    private int imageHeight = 0;
    private int imageWidth  = 0;
    private boolean setup    = false;
    private boolean altSetup = false;
    private boolean useAlt   = false;

    public void useAlt( boolean alternate )
    {
        useAlt = alternate;
        repaint();
    }

    public String getLabel()
    {
        return label;
    }

    public void setLabel( String toSet )
    {
        label = toSet;
    }

    public boolean imageUpdate( Image xx, int yy, int x, int y,
       int wide, int high )
    {
        imageHeight = high;
        imageWidth  = wide;
        repaint();

        return false;
    }

    public int getHeight()
    {
        imageSetup();
        return imageHeight;
    }

    public int getWidth()
    {
        imageSetup();
        return imageWidth;
    }

    public void setAltImage( Image i )
    {
        if ( altSetup )
        {
            imageTracker.removeImage( altImage, 1 );
        }

        altImage = i;
        altSetup = true;
        imageTracker.addImage( altImage, 1 );
        imageSetup();
    }

    public void setImage( Image i )
    {
        if ( setup )
        {
            imageTracker.removeImage( image, 0 );
        }

        image = i;
        setup = true;
        imageTracker.addImage( image, 0 );
        imageSetup();
    }

    void imageSetup()
    {
        repaint();
        imageHeight = image.getHeight( this );
        imageWidth  = image.getWidth( this );
    }

    public ImageComponent( Image i )
    {
        // intentionaly set for testing
        imageTracker = new MediaTracker( this );
        setImage( i );
    }

    public void paint( Graphics g )
    {
        setBackground( Color.black ); // Was blue

        if ( useAlt )
        {
            if ( altImage != null )
            {
                g.drawImage( altImage, 0, 0, this );
            }
            else
            {
                setBackground( Color.red ); // Was blue
            }
        }
        else
        {
            g.drawImage( image, 0, 0, this );
        }

        if( imageTracker.checkID( 0, true ) )
        {
            setSize( image.getWidth( this ), image.getHeight( this ) );
        }
    }

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

    public Dimension getPreferredSize()
    {
        //return getMinimumSize();
        return new Dimension( imageWidth, imageHeight );
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -