fix: maximized cooja frame overlapping os display regions (such as win start menu).
This commit is contained in:
parent
55a255bb9c
commit
ad59a54fa8
1 changed files with 16 additions and 2 deletions
|
@ -24,7 +24,7 @@
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Id: GUI.java,v 1.49 2007/05/19 17:05:54 fros4943 Exp $
|
* $Id: GUI.java,v 1.50 2007/05/23 09:10:15 fros4943 Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package se.sics.cooja;
|
package se.sics.cooja;
|
||||||
|
@ -552,10 +552,15 @@ public class GUI {
|
||||||
// Make sure we have nice window decorations.
|
// Make sure we have nice window decorations.
|
||||||
JFrame.setDefaultLookAndFeelDecorated(true);
|
JFrame.setDefaultLookAndFeelDecorated(true);
|
||||||
JDialog.setDefaultLookAndFeelDecorated(true);
|
JDialog.setDefaultLookAndFeelDecorated(true);
|
||||||
|
Rectangle maxSize = GraphicsEnvironment.getLocalGraphicsEnvironment()
|
||||||
|
.getMaximumWindowBounds();
|
||||||
|
|
||||||
// Create and set up the window.
|
// Create and set up the window.
|
||||||
frame = new JFrame("COOJA Simulator");
|
frame = new JFrame("COOJA Simulator");
|
||||||
|
if (maxSize != null)
|
||||||
|
frame.setMaximizedBounds(maxSize);
|
||||||
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||||
|
logger.debug(frame.getPreferredSize());
|
||||||
|
|
||||||
// Create and set up the content pane.
|
// Create and set up the content pane.
|
||||||
JDesktopPane desktop = new JDesktopPane();
|
JDesktopPane desktop = new JDesktopPane();
|
||||||
|
@ -565,7 +570,7 @@ public class GUI {
|
||||||
JComponent newContentPane = gui.getDesktopPane();
|
JComponent newContentPane = gui.getDesktopPane();
|
||||||
newContentPane.setOpaque(true);
|
newContentPane.setOpaque(true);
|
||||||
frame.setContentPane(newContentPane);
|
frame.setContentPane(newContentPane);
|
||||||
|
|
||||||
frame.setSize(700, 700);
|
frame.setSize(700, 700);
|
||||||
frame.setLocationRelativeTo(null);
|
frame.setLocationRelativeTo(null);
|
||||||
frame.addWindowListener(gui.guiEventHandler);
|
frame.addWindowListener(gui.guiEventHandler);
|
||||||
|
@ -579,6 +584,15 @@ public class GUI {
|
||||||
if (framePosX >= 0 && framePosY >= 0 && frameWidth > 0 && frameHeight > 0) {
|
if (framePosX >= 0 && framePosY >= 0 && frameWidth > 0 && frameHeight > 0) {
|
||||||
frame.setLocation(framePosX, framePosY);
|
frame.setLocation(framePosX, framePosY);
|
||||||
frame.setSize(frameWidth, frameHeight);
|
frame.setSize(frameWidth, frameHeight);
|
||||||
|
|
||||||
|
// Assume window was maximized if loaded size matches maximum bounds
|
||||||
|
if (maxSize != null
|
||||||
|
&& framePosX == 0
|
||||||
|
&& framePosY == 0
|
||||||
|
&& frameWidth == maxSize.width
|
||||||
|
&& frameHeight == maxSize.height) {
|
||||||
|
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue