componentShown

Status
Nicht offen für weitere Antworten.
B

Blubber

Gast
Hallo,

dies ist eine innere klasse mein hauptklasse:

wenn das programm gestartet wird, wird "shown" ausgegeben, da bei start des program1 das fenster natürlich sichtbar wurde. Nun klicke ich in der taskleiste ein anderes program2 an. Das programm1 verschwindet natürlich in den Hintergrund da nicht modal. Klicke ich nun wieder in der taskleiste den button für program1 an verschwindet program2 und program1 wird sichtbar doch dieses mal wird nicht "shown ausgegeben warum? Wie erreiche ich dies?


Code:
class MyWindow extends ComponentAdapter
{
      
      public void componentShown(ComponentEvent e)
      {
    	  
    	  System.out.println("shown");
      }
   }
 

The_S

Top Contributor
Weil componentShown nur aufgerufen wird, wenn es visible gesetzt wird. Für sowas benötigst du einen Window- und/oder FocusListener.
 
B

blubber

Gast
Hobbit_Im_Blutrausch hat gesagt.:
Weil componentShown nur aufgerufen wird, wenn es visible gesetzt wird. Für sowas benötigst du einen Window- und/oder FocusListener.

guten Morgen!


damit gehts es doch nur zu 75% ?? oftmals ist es so, wenn das programm in den hintergrund und ich es anklicke wird nicht "focus gained ausgegeben" erst wenns beim 2mal in Hintergrund geht und angeklickt wird wird auch "focus gained" ausgegeben. Hm... ??

Code:
addWindowListener(new MyFocusedWindow());

  class MyFocusedWindow extends WindowAdapter
   {
	   public void windowDeiconified(WindowEvent e)
	   {
		   System.out.println("focus gained");
		   //myDialog.setVisible(true);
	   }
   }
 

The_S

Top Contributor
deiconified ist nur, wenn es den Status "minimiert" verliert. Interessant ist noch windowActivated und evtl. auch windowOpened. focusGained wird jedesmal aufgerufen, wenn eine Componente mit einem FocusListener wieder den Fokus erhält - und nicht irgendwie zufällig oder nur manchmal ???:L
 
B

Blubber

Gast
falsche methode benutzt tstststs: public void windowGainedFocus(WindowEvent e)

damit gehts!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben