AWT Image类
1 什么是Java AWT Image
Image图像控件是表示图形图像的所有图像类的超类。
2 Java AWT Image的语法
public abstract class Image
extends Object
3 Java AWT Image的构造方法
构造方法 | 描述 |
---|---|
Image() | 创建一个新的Image。 |
4 Java AWT Image的方法
方法 | 描述 |
---|---|
void flush() | 刷新此 Image 对象使用的所有可重构资源。 |
float getAccelerationPriority() | 返回加速优先级提示的当前值。 |
ImageCapabilities getCapabilities(GraphicsConfiguration gc) | 返回一个 ImageCapabilities 对象,该对象可以在指定的 GraphicsConfiguration 上查询此 Image 的功能。 |
abstract Graphics getGraphics() | 创建用于绘制到离屏图像的图形上下文。 |
abstract int getHeight(ImageObserver observer) | 确定图像的高度。 |
abstract Object getProperty(String name, ImageObserver observer) | 按名称获取此图像的属性。 |
Image getScaledInstance(int width, int height, int hints) | 创建此图像的缩放版本。 |
abstract ImageProducer getSource() | 获取为图像生成像素的对象。 |
abstract int getWidth(ImageObserver observer) | 确定图像的宽度。 |
void setAccelerationPriority(float priority) | 为该图像设置有关加速度重要性的提示。 |
5 Java AWT Image的例子
让我们看一个简单的Java AWT Image类示例。
package com.yiidian;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
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("d:/logo.png"));
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());
}
}
}
}
输出结果为:
热门文章
优秀文章