• Domingo 12 de Mayo de 2024, 12:56

Autor Tema:  Procesamiento Del Foco  (Leído 1408 veces)

kike_monarcas

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Procesamiento Del Foco
« en: Jueves 13 de Abril de 2006, 04:48 »
0
Hola. Tengo una pequeña duda que tal vez para muchos sea una pregunta un tanto sencilla o tonta, pero por más que he buscado no puedo encontrar la forma de hacer lo siguiente. Tengo en un formulario un JDesktopPane y al iniciar el programa se le pregunta al usuario si desea abrir un JInternalFrame. Lo que pretendo es que al elegir la opción Si el JInternalFrame tome el foco en lugar del JFrame. El problema es que no se como asignarle el foco al marco interno y agradecería cualquier ayuda de su parte. El código se encuentra en el archivo adjunto. De antemano gracias por todos sus comentarios.

Saludos!  :hola:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

robbie110487

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Procesamiento Del Foco
« Respuesta #1 en: Viernes 14 de Abril de 2006, 20:09 »
0
Solo anadi un par de lineas al metodo iniciarGUI de la clase FormaPrueba

Código: Text
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4.  
  5. public class PruebaFocoVentana {
  6.     public static void main( String args[] ){
  7.         JFrame ventana = new FormaPrueba();
  8.     }
  9. }
  10.  
  11. class FormaPrueba extends JFrame{
  12.     
  13.     public FormaPrueba(){
  14.         super( "Asignación del foco a una ventana" );
  15.         setSize( 400, 300 );
  16.         setDefaultCloseOperation( EXIT_ON_CLOSE );
  17.         setResizable( false );
  18.         setVisible( true );
  19.         iniciarGUI();
  20.     }
  21.     
  22.     private void iniciarGUI(){
  23.         int res;
  24.         elEscritorio = new JDesktopPane();
  25.         getContentPane().add( elEscritorio );
  26.         res = JOptionPane.showConfirmDialog( this, "Abrir forma interna", "Aviso", JOptionPane.YES_NO_OPTION );
  27.         FormaInterna formainterna=new FormaInterna();
  28.         
  29.         if( res == JOptionPane.YES_OPTION )
  30.             elEscritorio.add(formainterna);
  31.             try
  32.             {
  33.                 formainterna.setSelected(true);
  34.             }
  35.             catch (Exception e) { }
  36.     }
  37.     
  38.     private JDesktopPane elEscritorio;
  39. }
  40.  
  41. class FormaInterna extends JInternalFrame{
  42.     
  43.     public FormaInterna(){
  44.         super( "Forma Interna", false, true, false, true  );
  45.         iniciarGUI();
  46.         setVisible( true );
  47.         pack();
  48.         requestFocus();
  49.         
  50.     }
  51.     
  52.     private void iniciarGUI(){
  53.         contenedor = getContentPane();
  54.         contenedor.setLayout( new FlowLayout() );
  55.         campo = new JTextField( 10 );
  56.         contenedor.add( campo );
  57.         campo.requestFocus();
  58.         
  59.     }
  60.     
  61.     public Dimension getPreferredSize(){
  62.         return new Dimension( 350, 250 );
  63.     }
  64.     
  65.     private Container contenedor;
  66.     private JTextField campo;
  67. }
  68.  

Un saludo  :comp:

kike_monarcas

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Re: Procesamiento Del Foco
« Respuesta #2 en: Lunes 17 de Abril de 2006, 00:26 »
0
Gracias por la ayuda robbie110487, ahora he resolvido mi duda.

Saludos!  :hola: