id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc
526,XTEST Java Robot interaction,James.Gunning@…,jeremyhu@freedesktop.org,"Hi All,
     I have java code with a Robot instance that should generate a screen dump. Produces a black image on Xquartz using java tunnelled through ssh from a linux box. It works on a linux box with local X11 head, also on native OSX java talking directly to quartz (ie no X11), so I'm guessing it's Xquartz. XTEST is enabled:
%defaults read org.x.X11 | grep test
    ""enable_test_extensions"" = 1;
%defaults read org.macosforge.xquartz.X11|grep test
    ""enable_test_extensions"" = 1;



---------------------
Code below: save as HelloWorld.java
% javac HelloWorld.java
% java HelloWorld




import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.ImageIO;

public class HelloWorld extends Frame 
{
  public static void main (String [] argv)
  {
	HelloWorld h = new HelloWorld();
  }

  public HelloWorld()
  {
	setTitle(""Hello World!"");		
	setSize(300, 250);

	Panel P = new Panel();
	add(""Center"", P);

	Button button = new Button(""CAPTURE ME"");
	add(""South"", button);
	button.addActionListener(new ActionListener() {
	    public void actionPerformed(ActionEvent e) 
		{
		  try
			{
			  Robot rb = new Robot();
			  Rectangle R = getBounds();
			  Point P = getLocationOnScreen();
			  R.setLocation(P);
			  BufferedImage img = rb.createScreenCapture(R); 
			  ImageIO.write(img,""jpg"",new File(""dump.jpg""));
			  System.out.println(""Wrote dump.jpg"");
			} 
		  catch(Exception ee)
			{
			  System.out.println(""Exception ""+ee);
			} 
		  System.exit(0);
	    }
	  });

	pack();
	setVisible(true);

	int width = 200;
	int height = 200;
	Graphics g = P.getGraphics();
	g.drawString(""XXX"",0, height/2);

	addWindowListener(new WindowAdapter()
	  {
	    public void windowClosing(WindowEvent e)
		{		  
		  System.exit(0);
		};
	  });
  }
}


See attached java code for simple demo.
",usability,new,Important,OSX,xserver,,,,
