JFrame.setVisible(false); - Hvad gør det helt præcist?

Tags:    java swing

Hvis JFrame.setVisible(false); hvad så? Man kan ikke se vinduet, men kører programmet alligevel i baggrunden? Og hvorfor have en funktion som gør det muligt, hvad er meningen med et vindue som ikke kan ses? o.o



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 12 karma
Sorter efter stemmer Sorter efter dato
Hvis JFrame.setVisible(false); hvad så? Man kan ikke se vinduet, men kører programmet alligevel i baggrunden? Og hvorfor have en funktion som gør det muligt, hvad er meningen med et vindue som ikke kan ses? o.o


http://docs.oracle.com/javase/6/docs/api/java/awt/Window.html#setVisible%28boolean%29





Fra java API:

public void setVisible(boolean b)
Shows or hides this Window depending on the value of parameter b.
Overrides:
setVisible in class Component
Parameters:
b - if true, makes the Window visible, otherwise hides the Window. If the Window and/or its owner are not yet displayable, both are made displayable. The Window will be validated prior to being made visible. If the Window is already visible, this will bring the Window to the front.
If false, hides this Window, its subcomponents, and all of its owned children. The Window and its subcomponents can be made visible again with a call to #setVisible(true).
~Link til JFrame API

Vinduet bliver ikke tegnet, men kører stadigvæk i baggrunden. Og kan fås frem igen, ved at kalde metoden med true. En grund til at man kan have dette er fordi at det er hurtigere og kræver mindre hukommelse at genbruge de objekter, man i forvejen har i stedet for at lave nye.
Hvis du for eksempel gerne vil lave en applikation, hvor du har flere forskellige vinduer, så har du mulighed for at genbruge nogle af de gamle vinduer.



Mange tak :P



t