Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: cardiobeta en 28 de Marzo 2013, 23:55

Título: Personalizar JOptionPane java
Publicado por: cardiobeta en 28 de Marzo 2013, 23:55
Hola a todos. La pregunta es sencilla: ¿Que opciones de un JOptionPane se pueden personalizar?. ¿Se puede personalizar el tamaño del cuadro de dialogo y la posicion en que aparece?. Gracias de antemano.
Título: Re:Personalizar JOptionPane
Publicado por: javi in the sky en 29 de Marzo 2013, 22:11
La herencia de JOptionPane es esta:

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JOptionPane

Fíjate que para un Container puedes personalizar el tamaño y la posición. Si JOptionPane hereda de container, podrás cambiar estos valores aplicándole métodos de container u otra clase que esté por encima en la herencia. Saludos!
Título: Re:Personalizar JOptionPane
Publicado por: cardiobeta en 30 de Marzo 2013, 13:24
Hola. Gracias por la sugerencia. Pero en cconcreto tengo un JOptionPane de tipo showMessageDialog el cual aparece dentro de un jPane tras presionar un boton, Dentro del JOptionPane hay un jTexArea. Quiero cambiar el tamaño del JOptionPane, su posicion en el JPane y que los 2 botones  del JOptionPane tengan como texto "Cancelar" e "Imprimir". Gracias nuevamente. Saludos.
Título: Re:Personalizar JOptionPane
Publicado por: Alex Rodríguez en 30 de Marzo 2013, 23:21
Hola, aquí un ejemplo pero con showOptionDialog

                Object[] options = { "CANCELAR", "IMPRIMIR" };
                JOptionPane.showOptionDialog(null, "Elige imprimir o cancelar", "Aviso",
                JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
                null, options, options[0]);

Título: Re:Personalizar JOptionPane
Publicado por: César Krall en 02 de Abril 2013, 08:12
Creo que si usas JOptionPane algunas cosas como el tamaño y posición van a ser fijados por defecto. Si quisieras personalizarlo podrías hacerlo simulando un JOptionPane pero usando otra clase que sí te permita la modificación de la posición y tamaño como JFrame.