Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Duda redimensionando paneles

Hola, ante todo presentarme, Javier, de Sevilla

Estoy desarrollando una especie de programa CAD, en el que estoy usando un Panel, con varias imágenes dentro del mismo. Utilizo Apache Pivot, pero creo que la solución, de existir, se puede extender a java genérico.

Al ejecutar un zoom (lo realizo con scaleDecorators), el mismo se ejecuta bien, pero las coordenadas de los objetos dentro del panel escalado y los eventos del mouse (mouseMove, MouseOver, MouseOut) apuntan a la situación original antes de hacer el zoom.

Me pega que estoy haciendo el zoom sólo parcialmente bien.

¿Cómo podría escalar "totalmente" un panel, de forma que se escale todo su contenido?

Os dejo una parte del código:

/*ASIGNACIÓN DEL BORDE DEL PLANO.
Asignación del borde del plano, contenido en StackPane layeredPanel.
Background panel es un panel.
im1 e im2 son ImageView.

*/
backgroundPanel.getStyles().put("color", "RED");

im1.setName("im1");
im1.setLocation(10,10);
im1.setSize(200, 400);
im1.setImage("/com/jleingenieros/panelprincipal/images/imagenes/lienzo.svg");
backgroundPanel.add((Component) im1);

im2.setName("im2");
im2.setLocation(100,100);
im2.setSize(200, 400);
im2.setImage("/com/jleingenieros/panelprincipal/images/imagenes/RPC2012.svg");
backgroundPanel.add((Component)im2);

//AQUI ES DONDE VIENEN LOS PROBLEMAS

final ScaleDecorator escala = new ScaleDecorator();
backgroundPanel.getDecorators().insert(escala, 0);

float escalaNumero = 0.5f;
int escalaInt = (int) Math.round(escalaNumero);

escala.setScale(escalaNumero);

//YA HE ESCALADO EL PANEL. Al pasar el mouse por el mismo, las coordenadas de los "im" son las antiguas, como si no hubiese escalado nada, aunque visualmente el resultado es correcto.

Gracias, y feliz 2014

diciembre 28, 2013 | Unregistered CommenterJLEIngenieros

Este es un "problema" específico de Apache PIvot.
Con JavaSE Swing no hay problemas para redimensionar los componentes internos de un JPanel.
Como he visto que ya has planteado la cuestión en los foros de usuarios de Pivot, seguramente es el sitio más indicado para obtener las mejores respuestas.

diciembre 28, 2013 | Registered Commenterchoces

Gracias. Creo que me vuelvo a Swing :)

diciembre 28, 2013 | Unregistered CommenterJLEIngenieros