Mam docela zapeklitý problém, 

mám testovací aplikaci
Frame, který na stisk klávesové zkratky otevře modální Dialog.
Celé to překriji Window.
Dialog se po stisknutí klávesy zavře ( a vrátí focus Frame)

Na Win a Mac se to chová "dobře". Tedy pokud držím klávesu tak na mě vyskakuje 
Dialogové okno a zase se schovává.
Na Linuxu se ale po jedné či dvou iteracích focus prostě ztratí.

Nalezl jsem několik zmínek o problémech linux+focus.  Zvláštní také je že na 
některých verzích linuxu (stejná verze javy) to funguje.

Nemáte s podobným problémem někdo více zkušeností.

Předem díky,
Pavel

Test case 

import java.awt.*;
import java.awt.event.*;

class NLModal extends Dialog{
   NLModal (Frame f)
   {  
       super (f, "modal", true);
       this.setBackground(Color.blue);
       this.setAlwaysOnTop(true);
      addWindowListener (new WindowAdapter (){  
        public void windowClosing (WindowEvent e){  
          dispose ();
      }});
      addKeyListener (new KeyAdapter (){  
        public void keyPressed (KeyEvent e){  
          System.out.println ("modal: " + e.paramString ());
          dispose ();
      }});
  }
}


public class NLTest
{
   public static void main (String[] args){  
     Frame f = new Frame ("NLTest");
      f.setBackground(Color.yellow);

      f.addWindowListener (new WindowAdapter (){  
        public void windowClosing (WindowEvent e){  
          System.exit (0);
      }});
      f.addKeyListener (new KeyAdapter (){  
        public void keyPressed (KeyEvent e){  
            System.out.println ("frame: " + e.paramString ());;
            Dialog d = new NLModal ((Frame) e.getComponent ());
            d.setBounds (50, 100, 600, 100);
            d.show ();
      }});

      Dimension d = f.getToolkit ().getScreenSize ();

      f.setBounds (0, 0, 300, 25);
      f.show ();

      Window w = new Window (f);
      w.setBackground(Color.gray);
      w.setBounds (0, 50, 300, 200); // working
      //w.setBounds (0, 0, d.width, d.height-1); // working
      //w.setBounds (0, 0, d.width-1, d.height); // working
      //w.setBounds (0, 0, d.width, d.height);  // focus loss
      w.show ();

   }
}

-- 
Pavel Nemec
Software Engineer
---------------------------------------------------------------------  
SuSE CR, s.r.o.                             e-mail: [EMAIL PROTECTED]
Lihovarska 1060/12                          tel:+420 284 028 981 
190 00 Praha 9                              fax:+420 296 542 374   
Ceska republika                             http://www.suse.cz    

Attachment: signature.asc
Description: This is a digitally signed message part.

Odpovedet emailem