import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.RenderingHints;
import java.awt.Toolkit;
import
java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JApplet;
import javax.swing.JFrame;
/*
<applet code="ACImages" width="600" height="300"></applet>
*/
public class ACimages extends JApplet {
private String m_backGroundImgName = "emptyEnclosure.gif";
private Image backImgObj;
private final int []backImgDimen = {240,150};
private String dimentionInfo[] = {"server_1X_2Y","server_1X_2Y","server_1X_2Y","server_1X_2Y"
,"server_1X_2Y","server_1X_2Y","server_1X_2Y","server_1X_2Y"};
private Image eleImgObj[] = new Image[dimentionInfo.length];
private final int MAX_NUM_SLOTS_XDIRECT = 8;
public void init() {
Toolkit tk = getToolkit();
backImgObj =
tk.getImage(ACimages.class.getResource(m_backGroundImgName));
try {
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(backImgObj, 0);
tracker.waitForID
(0);
} catch (Exception e) {}
for(int i = 0; i < dimentionInfo.length; i++) {
eleImgObj[i] = tk.getImage(ACimages.class.getResource(dimentionInfo[i] + ".gif"));
try {
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(eleImgObj[i], 0);
tracker.waitForID(0);
} catch (Exception e) {}
}
}
public void drawDemo(int w, int h, Graphics2D g2) {
int iw = 24;
int ih = 150;
float xx = 0, yy = 10;
g2.drawImage(backImgObj, (int) xx, (int) yy, backImgDimen[0], backImgDimen[1], null);
for (int i =0; i < eleImgObj.length
; i++) {
if(i>MAX_NUM_SLOTS_XDIRECT-1) {
xx = 0;
}
xx += iw;
g2.drawImage(eleImgObj[i], (int) xx, (int) yy, iw, ih, null);
Image status =getToolkit().getImage(
ACimages.class.getResource("Critical" + ".gif"));
try {
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(status, 0);
tracker.waitForID(0);
} catch (Exception e) {}
g2.drawImage(status, (int) xx+6, (int) yy+6, 13, 13, null);
}
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
Dimension d = getSize();
g2.setBackground(getBackground());
g2.clearRect(0, 0, d.width, d.height);
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY
);
drawDemo(d.width, d.height, g2);
}
private void writeToFile() {
BufferedImage buffered_image =
new BufferedImage (600, 300, BufferedImage.TYPE_INT_RGB
);
Graphics2D buf_image_graphics = buffered_image.createGraphics ();
System.out.println("buffered_image :"+buffered_image);
Dimension d = getSize();
buf_image_graphics.setBackground(getBackground());
buf_image_graphics.clearRect(0, 0, d.width, d.height);
buf_image_graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
buf_image_graphics.setRenderingHint(
RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
drawDemo(d.width, d.height, buf_image_graphics);
File f = new File ("c:\\anImage.gif");
try {
ImageIO.write (buffered_image, "gif", f);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("buffered_image :"+buffered_image);
}
public static void main(String argv[]) {
final ACimages demo = new ACimages();
demo.init();
JFrame f = new JFrame("Java 2D(TM) Demo - ACimages");
f.addWindowListener
(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
f.getContentPane().add("Center", demo);
f.pack();
f.setSize(new Dimension(600,300));
f.show();
demo.writeToFile();
}
}
--
Bad boy for life !!!