当前位置: 首页 > 文档资料 > JAVA AWT 中文文档 >

Image

优质
小牛编辑
125浏览
2023-12-01

介绍 (Introduction)

图像控件是表示图形图像的所有图像类的超类。

类声明

以下是java.awt.Image类的声明:

public abstract class Image
   extends Object

字段 (Field)

以下是java.awt.Image类的字段:

  • protected float accelerationPriority - 加速此图像的优先级。

  • static int SCALE_AREA_AVERAGING - 使用Area Averaging图像缩放算法。

  • static int SCALE_DEFAULT - 使用默认的图像缩放算法。

  • static int SCALE_FAST - 选择一种图像缩放算法,该算法比缩放图像的平滑度具有更高的缩放速度优先级。

  • static int SCALE_REPLICATE - 使用ReplicateScaleFilter类中包含的图像缩放算法。

  • static int SCALE_SMOOTH - 选择图像缩放算法,该算法为图像平滑度提供比缩放速度更高的优先级。

  • static Object UndefinedProperty - 只要获取未为特定图像定义的属性,就应返回UndefinedProperty对象。

类构造函数

SN构造函数和描述
1

Image()

类方法

SN方法和描述
1

void flush()

刷新此Image对象使用的所有可重构资源。

2

float getAccelerationPriority()

返回加速优先级提示的当前值。

3

ImageCapabilities getCapabilities(GraphicsConfiguration gc)

返回一个ImageCapabilities对象,可以在指定的GraphicsConfiguration上查询此Image的功能。

4

abstract Graphics getGraphics()

创建用于绘制到屏幕外图像的图形上下文。

5

abstract int getHeight(ImageObserver observer)

确定图像的高度。

6

abstract Object getProperty(String name, ImageObserver observer)

按名称获取此图像的属性。

7

Image getScaledInstance(int width, int height, int hints)

创建此图像的缩放版本。

8

abstract ImageProducer getSource()

获取生成图像像素的对象。

9

abstract int getWidth(ImageObserver observer)

确定图像的宽度。

10

void setAccelerationPriority(float priority)

为此图像设置有关加速度有多重要的提示。

方法继承

该类继承以下类中的方法:

  • java.lang.Object

图像示例

使用您选择的任何编辑器创建以下java程序,例如D:/ 》 AWT 》 com 》 iowiki 》 gui 》

AwtControlDemo.java
package com.iowiki.gui;
import java.awt.*;
import java.awt.event.*;
public class AwtControlDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   public AwtControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      AwtControlDemo  awtControlDemo = new AwtControlDemo();
      awtControlDemo.showImageDemo();
   }
   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);
      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());
      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   private void showImageDemo(){
      headerLabel.setText("Control in action: Image"); 
      controlPanel.add(new ImageComponent("resources/java.jpg"));
      mainFrame.setVisible(true);  
   }
   class ImageComponent extends Component {
      BufferedImage img;
      public void paint(Graphics g) {
         g.drawImage(img, 0, 0, null);
      }
      public ImageComponent(String path) {
         try {
            img = ImageIO.read(new File(path));
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
      public Dimension getPreferredSize() {
         if (img == null) {
            return new Dimension(100,100);
         } else {
            return new Dimension(img.getWidth(), img.getHeight());
         }
      }
   }
}

使用命令提示符编译程序。 转到D:/ 》 AWT并键入以下命令。

D:\AWT>javac com\iowiki\gui\AwtControlDemo.java

如果没有错误,那意味着编译成功。 使用以下命令运行程序。

D:\AWT>java com.iowiki.gui.AwtControlDemo

验证以下输出

AWT图像