The Source for Java Technology Collaboration
User: Password:



Start New Message Delete Post a Reply

Article: 
 Bringing Swing to the Web
Subject:  Headless...
Date:  2006-04-25 05:06:58
From:  mattjvincent
Response to: Headless...



import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.table.*;

public class TestImage {
public static void main(String args[]) {
Object cols[] = {"this", "is", "a test"};
Object data[][] = {{"a","b","c"},{"d","e","f"},{"g","h","i"}};
JTable table = new JTable(data,cols);
JScrollPane jsp = new JScrollPane(table);
saveComponentAsImage(jsp);
}

public static void saveComponentAsImage(JComponent c) {
int w = c.getPreferredSize().width;
int h = c.getPreferredSize().height;
BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();

if(GraphicsEnvironment.isHeadless()) {
System.out.println("headless");
} else {
System.out.println("NOT headless");
}

c.addNotify();
c.setSize(w,h);
c.setVisible(true);
c.validate();
c.paint(g);

try {
ImageIO.write(image, "png", new File("testImage.png"));
} catch (IOException ioe) {
System.out.println(ioe.getMessage());
}

g.dispose();
}



java -Djava.awt.headless=true TestImage

 Feed java.net RSS Feeds