Los componentes Swing se reformatean después del evento JButton

tpError.setPreferredSize(new Dimension(500, 500));

No codifique los tamaños preferidos.

Cuando utiliza un GridBagLayout, un componente se mostrará en su "tamaño mínimo" cuando no haya suficiente espacio para mostrar el componente en su tamaño preferido. En su lugar, debe usar otras restricciones como la restricción de "relleno" para controlar cómo el componente crece / se reduce a medida que cambia el espacio disponible.

Sin embargo, una mejor solución es NO usar GridBagLayout. En su lugar, solo use el layot ​​predeterminado del marco que es a BorderLayout. Entonces el código básico sería:

JTextPane textPane = new JTextPane();
JScrollPane scrollPane = new JScrollPane( textPane );
add(scrollPane, BorderLayout.CENTER);

add(panelButtons, BorderLayout.PAGE_END);

Mucho más simple cuando no tiene que preocuparse por restricciones más complejas.

Respuesta 1

Estoy probando un compilador en mi Java Eclipse. Y recibo el error: Se produjo una excepción durante el envío de eventos: java.lang.OutOfMemoryError: espacio de almacenamiento dinámico de Java en java.awt.image.DataBufferInt. <init> (...

En los proyectos en los que mi equipo está trabajando actualmente, tenemos decenas de controladores para un evento específico que implementan una interfaz común, y se invocan cuando ocurren los eventos que escuchan. Y ...

Estoy tratando de verificar si hay un archivo en WEB-INF / ver archivo. Actualmente estoy usando Spring y JSP 2.0, y estoy tratando de crear un tema para el foro. En una etiqueta personalizada, estoy tratando de verificar si el archivo jsp existe dentro ...

Estoy trabajando en una API de arranque Java Spring donde necesito insertar datos masivos en mi base de datos. Sé cómo podría lograr esto. Para obtener una inserción masiva con Sring Boot y Spring Data JPA solo necesita dos ...