Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Obtener esquina JFrame

Buenas! Paso a comentarles el problema. Tengo que imprimir el contenido de un JPanel. Lo que hice fue guardarlo como imagen y de ahí mandarlo a imprimir. El problema que cuando guardo el JPanel como imagen se me guarda el JMenuBar.

BufferedImage img = getScreenShot(panel.getRootPane() ); (siendo "panel" mi JPanel).

Pense que mi posible solución sería obtener la esquina superior izquierda del JFrame y a partir de ahí restarle a la medida en 'y' la altura del JMenuBar:


public int getCoordenadaX(){

int x;
x = this.getLocation().x;
return x;
}

public int getCoordenadaY(){

int y;
y = this.getLocation().y;
return y;
}

int x = this.getCoordenadaX();
int y = this.getCoordenadaY() - menuBar.getHeight();

BufferedImage img2 = img.getSubimage(x, y, ancho, alto);


Pero no anda, me tira el siguiente error:

java.awt.image.RasterFormatException: (x + width) is outside raster

Si alguien me pudiese dar una mano se lo agradecería.

febrero 17, 2014 | Unregistered Commenterjpd7

Cabe destacar que img es la foto con el contenido del JPanel

febrero 17, 2014 | Unregistered Commenterjpd7