Obter coordenadas da tela de um nó no javaFX 8
Estou desenvolvendo um aplicativo JavaFX no Windows 8.1 de 64 bits com 4 GB de RAM com a versão 8D45 de 64 bits do JDK.
Eu quero capturar parte da tela usandoRobot
mas o problema é que não consigo obter as coordenadas da tela do painel de âncora que quero capturar e não quero usarsnapshot
porque a qualidade da saída é ruim. Aqui está o meu código.
Eu vi a pergunta neste linkObtendo a Coordenada Global de um Nó no JavaFX e esteobter a posição real de um nó no javaFX e eu tentei todas as respostas, mas nada está funcionando, a imagem mostra diferentes partes da tela.
private void capturePane() {
try {
Bounds bounds = pane.getLayoutBounds();
Point2D coordinates = pane.localToScene(bounds.getMinX(), bounds.getMinY());
int X = (int) coordinates.getX();
int Y = (int) coordinates.getY();
int width = (int) pane.getWidth();
int height = (int) pane.getHeight();
Rectangle screenRect = new Rectangle(X, Y, width, height);
BufferedImage capture = new Robot().createScreenCapture(screenRect);
ImageIO.write(capture, "png", new File("image.png"));
} catch (IOException | AWTException ex) {
ex.printStackTrace();
}
}