Cambiar tamaño formulario java con canvas dentro

Tengo un jframe dentro de una aplicación de escritorio. Mi problema es que no toma el tamaño que le establezco al formulario, y creo que es porque tiene dentro un panel canvas.
Este formulario es como un pequeño "paint" para hacer croquis.
Tiene un panel con los botones.
Un panel que es el canvas.
Todo esto dentro del formulario. El código que tengo en el constructor es este:
public EditorDeParcelaPaint(CanvasPanel canvas, JF_URBMV210_SeleccionSector selSector) throws IOException {
        initComponents();
        this.setPreferredSize(new Dimension(1280, 800));
        this.setMaximumSize(new Dimension(1280, 800));
        this.setMinimumSize(new Dimension(1280, 800));
        repaint();
        frameSector = selSector;
        canvasPanel = new CanvasPanel(mostrarSector(frameSector.ruta));
        panelComodin.add(canvasPanel);
        fileName = null;
        setVisible(true);
        addWindowListener(
                new WindowAdapter() {
                    @Override
                    public void windowClosing(WindowEvent e) {
                        System.exit(0);
                    }
                    @Override
                    public void windowDeiconified(WindowEvent e) {
                        canvasPanel.repaint();
                    }
                    @Override
                    public void windowActivated(WindowEvent e) {
                        canvasPanel.repaint();
                    }
                });
    }
No sé por qué, pero es el único formulario que se me muestra más pequeño, no coge las dimensione que le establezco, ni en el constructor, ni en las propiedades del jframe.

1 Respuesta

Respuesta
1
Mmm una pregunta: ¿es panel comodin el container del frame?
Buenas, ya he solucionado el problema. Resulta que el gestor de distribución, tanto del panelComodin (que si que es el canvas) y del formulario, los tenia a null.
Al cambiarlo a gestro de distribución libre, establecer los tamaños antes del initComponents(), y no poner el método pack() activo, sino el método, que permite cambiar de tamañoa al formulario, he conseguido cambiarlo.
Parecerá una pregunta tonta, pero la verdad es que le he echado más de seis horas ha este problema. No puedes tener todos los formularios de un componente con un tamaño y uno más pequeño, la aplicación quedaría cagadita... je je
De todas formas, gracias por tu tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas