(February 2001)
(under construction)
Most windows (i.e., "Frames" in Java) in Mesquite are subclasses of the special MesquiteWindow subclass of Frame. MesquiteWindows are added automatically to the Windows menu so that they can be brought to the fore, and they are prepared to handle the menu system of Mesquite.
The window system is a bit annoying because of the convention in Java to force programmers to compensate for the size of title bars and menu bars of windows This affects both window size and placement of drawing in the window. What Mesquite does is to define a panel that serves as the graphical content area. All Components added to a window must be added using the method addToWindow(Component c), instead of add(). The reason is that addToWindow automatically adds to the contents panel instead of the window directly. Also, do not call setSize or setBounds for MesquiteWindows; instead call setWindowSize. This method attempts to compensate for the insets (i.e., setWindowSize is to be passed the size of the contents area desired). In case setWindowSize was called before the window was shown (sand hence the virtual machine may not yet know the inset sizes), MesquiteWindows have the show() and setVisible() method overridden to check to see that the size has compensated for the insets; if not it resets the size (hence some size bouncing).