imagepanel.java

来自「结构非常清晰的SIP协议栈」· Java 代码 · 共 62 行

JAVA
62
字号
package local.ua;import java.awt.Panel;import java.awt.Image;import java.awt.Graphics;import java.awt.Color;/** A Panel with a backgroung image */public class ImagePanel extends Panel{   Image image=null;   public ImagePanel(Image image)   {  this.image=image;      try      { jbInit();      }      catch(Exception e)      {  e.printStackTrace();      }   }   private void jbInit() throws Exception   {  this.setBackground(Color.black);   }   public void paint(Graphics g)   {  //System.out.print("*");      if (image!=null)      {  int width=this.getSize().width;         int height=this.getSize().height;         double ratio=(double)width/height;         if (image!=null && image.getWidth(null)>0)         {  // resized image            Image aux=image.getScaledInstance(width,height,Image.SCALE_FAST);            // wait for image loading..            int attempts=4;            while( (attempts--)>0 && aux.getWidth(null)<0) try { Thread.sleep(80); } catch (Exception e) {}            /*            double x=width/2;            double y=height/2;            int dx=aux.getWidth(null)/2;            int dy=aux.getHeight(null)/2;            g.drawImage(aux,(int)(x-dx),(int)(y-dy),null);            */            g.drawImage(aux,0,0,null);         }      }      else      {  g.setColor(Color.red);         g.fillRect(0,0,this.getSize().width,this.getSize().height);      }   }}

⌨️ 快捷键说明

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