elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame  (Leído 7,571 veces)
Leopola

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« en: 23 Febrero 2015, 18:32 »

Hola Muchachos!

Acá un ejemplo mas que sencillo:

Código:
package practica2;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Ventana extends JFrame{

private JButton jp1, jp2;

public Ventana(){

setLayout(null);

setBounds(330, 80, 400, 400);

jp1=new JButton("Boton 1");

jp1.setBounds(10, 10, 100, 50);

jp2=new JButton("Boton 2");

jp2.setBounds(260, 300, 100, 50);

add(jp1);
add(jp2);

setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

Ocurre que he probado horas y horas con los distintos Layout de Java, GridLayout, FlowLayout, etc.
Pero ninguno me convence. Deseo colocar los componentes a gusto, pero el problema natural es que al modificar el tamaño del JFrame con el mouse los componentes quedan en su sitio y se pierden (ocultan).
He leído por ahí que existe un evento que me avise cuando es modificado el JFrame. Para así modificar en ese momento los componentes.
Necesitaría un ejemplo sabiendo el evento(que no lo se), cómo al modificar el JFrame, también lo hagan en este caso estos dos botones que puse como ejemplo.
Y si existe un método para indicarle al JFrame que no lo minimice mas de, por ejemplo, 400x250 por decir un valor.

Desde ya muchas gracias. Saludos Leopoldo.


« Última modificación: 24 Febrero 2015, 02:47 por Leopola » En línea

Leopola

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« Respuesta #1 en: 23 Febrero 2015, 18:54 »

Acá encontré la última de mis preguntas.
El método es:

Código:
JFrame.setMinimumSize(new Dimension(350, 350)); // valores de ejemplo...

Me queda lo mas difícil...

Saludos Leopoldo.


En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« Respuesta #2 en: 23 Febrero 2015, 20:07 »

Siempre ha sido un problema redimendionar o reacomodar los componentes en AWT/Swing. Lo mejor que puedes lograr es con GridBagLayout.

Siempre recomiendo a los programadores Java SE empezar a familiarizarse con JavaFX. AWT/Swing ya han quedado obsoletos. Ahora con JavaFX puedes hacer aplicaciones ricas de internet (RIA por sus siglas en inglés).

Con JavaFX tienes muchas ventajas:

  • Componentes modernos (como datepicker).
  • Buen soporte para el patrón MVC.
  • Soporte para CSS y parcial para CSS3.
  • No se exige usar código para crear las interfaces gráficas ya que se puede usar XML adaptado llamado FXML. Incluso hay un GUI builder para realizar las interfaces con solo arrastrar componentes y generando código FXML.

Quizás con la ayuda de CSS puedas hacer por lo menos un poco más flexible visualmente tu aplicación.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Leopola

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« Respuesta #3 en: 23 Febrero 2015, 21:13 »

Muchas gracias por la respuesta.
JavaFX, no sabía de su existencia, ni que esta dejando sin uso a AWT/Swing!!!
Me voy a poner a leer a ver que encuentro sobre esto! gracias! Saludos Leopoldo.
En línea

Leopola

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« Respuesta #4 en: 24 Febrero 2015, 02:46 »

Ahí le estoy tomando la mano al GridBagLayout
Al principio como todo cuesta entender, luego lo vas consiguiendo. Anda muy bien para lo que necesitaba.
Gracias. Saludos Leopoldo.
En línea

.rn3w.


Desconectado Desconectado

Mensajes: 468


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« Respuesta #5 en: 24 Febrero 2015, 02:54 »

tendrias que trabajar con layouts!!!
creo que tambien con la funcion pack();

En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« Respuesta #6 en: 24 Febrero 2015, 03:01 »

Si no me equivoco, pack ajusta la ventana al tamaño de los componentes. Si se desea un layout responsivo, se necesitaría escuchar por eventos de resize y obtener las medidas para aplicarlas mediante ecuaciones a los componentes y layouts para que tengan un tamaño adecuado.

PD: Si solucionaste tu problema no olvides ponerle el check verde al título del tema para indicar que está resuelto.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
3n31ch


Desconectado Desconectado

Mensajes: 350


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« Respuesta #7 en: 24 Febrero 2015, 16:22 »

JavaFX no me gusta! BUUUUH (hasta que implementen bien las funcionalidades de CSS para posicionar elementos no me gustara [Y aclaro que los Layout tampoco. En resumen no me gusta como controla java sus gráficos]).

Exactamente como dice Gus pack() ajusta el panel de tal forma que todos sus componentes quepan perfectamente, (pero es necesario definir tamaños con setPreferredSize();
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Cómo redimensionar tamaño de los componentes al modificar tamaño de JFrame
« Respuesta #8 en: 24 Febrero 2015, 18:52 »

JavaFX no me gusta! BUUUUH (hasta que implementen bien las funcionalidades de CSS para posicionar elementos no me gustara

Pides mucho hermano :xD. No es el objetivo de un programa de escritorio valerse de CSS, pero me parece buena idea. Cierto es que aún la comunidad de Java no logra adaptar completamente CSS a JavaFX, imagino que será un arduo trabajo y esperemos que al final lo consigan porque viendo como van ahora, da muy buenas señales de avanzar en el futuro.

Igual, JavaFX es un muy buen framework. Debería adoptarse más por los programadores, ya es hora de dejar a Swing y utilizar JavaFX para los proyectos desktop ;)
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines