1:程序练手。教材P201 例9-13 缩放显示图像,类名:ShowImg。
然后尝试把Applet改写为Application,即含有main主方法的应用程序,
类似于P199 例9-12;
import java.awt.*;
import javax.swing.*;
public class ShowImg extends JApplet
{
Image img1;
public void init() {
img1=getImage(getCodeBase(),"e176.gif");//图片要放在BIN文件里,和CLASS放在同一个文件中
}
public void paint(Graphics g)
{
int w=img1.getWidth(this);
int h=img1.getHeight(this);
g.drawImage(img1,5,10,this);
g.drawImage(img1, 150, 40, w/2, h/2, this);
g.drawImage(img1, 5, 100, w*2, h*2, this);
}
}
其结果显示如图:
把Applet改写为Application,即含有main主方法的应用程序,类似于P199 例9-12;
import java.awt.*;
import javax.swing.*;
public class ShowImgApp{
public static void main(String args[])
{
ImageFrame frame=new ImageFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class ImageFrame extends JFrame
{
public ImageFrame()
{
setTitle("ImageShow");
setSize(WIDTH,HEIGHT);
ImagePanel panel=new ImagePanel();
Container contenPane=getContentPane();
contenPane.add(panel);
}
public static final int WIDTH=300;
public static final int HEIGHT=200;
}
class ImagePanel extends JPanel
{
public ImagePanel()
{
image=Toolkit.getDefaultToolkit().getImage("e176.gif");
MediaTracker tracker=new MediaTracker(this);
tracker.addImage(image,1);
try
{
tracker.waitForID(1);
}
catch(InterruptedException exception){}
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int imageWidth=image.getWidth(this);
int imageHeight=image.getHeight(this);
g.drawImage(image,5,10,this);
g.drawImage(image, 150, 40, imageWidth/2, imageHeight/2, this);
g.drawImage(image, 5, 100, imageWidth*2, imageHeight*2, this);
int FrameWidth=getWidth();
int FrameHeight=getHeight();
}
private Image image;
}
其运行结果如图: