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.
Gracias. Creo que me vuelvo a Swing :)
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