Methods Summary |
---|
protected void | activateFrame(javax.swing.JInternalFrame f)This method is called when the frame becomes selected.
super.activateFrame(f);
setColors(f);
|
public javax.swing.JComponent | createNorthPane(javax.swing.JInternalFrame w)
titlePane = new MotifInternalFrameTitlePane(w);
return titlePane;
|
public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent w)
return new MotifInternalFrameUI((JInternalFrame)w);
|
protected void | deactivateFrame(javax.swing.JInternalFrame f)This method is called when the frame is no longer selected.
setColors(f);
super.deactivateFrame(f);
|
private javax.swing.JInternalFrame | getFrame()
return frame;
|
public java.awt.Dimension | getMaximumSize(javax.swing.JComponent x)
return Toolkit.getDefaultToolkit().getScreenSize();
|
protected void | installDefaults()
Border frameBorder = frame.getBorder();
frame.setLayout(internalFrameLayout = createLayoutManager());
if (frameBorder == null || frameBorder instanceof UIResource) {
frame.setBorder(new MotifBorders.InternalFrameBorder(frame));
}
|
protected void | installKeyboardActions()
super.installKeyboardActions();
// We replace the
// we use JPopup in our TitlePane so need escape support
closeMenuKey = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
|
public void | installUI(javax.swing.JComponent c)
super.installUI(c);
setColors((JInternalFrame)c);
|
void | setColors(javax.swing.JInternalFrame frame)
if (frame.isSelected()) {
color = UIManager.getColor("InternalFrame.activeTitleBackground");
} else {
color = UIManager.getColor("InternalFrame.inactiveTitleBackground");
}
highlight = color.brighter();
shadow = color.darker().darker();
titlePane.setColors(color, highlight, shadow);
|
protected void | setupMenuCloseKey()
ActionMap map = SwingUtilities.getUIActionMap(frame);
if (map != null) {
map.put("hideSystemMenu", new AbstractAction(){
public void actionPerformed(ActionEvent e){
titlePane.hideSystemMenu();
}
public boolean isEnabled(){
return isKeyBindingActive();
}
});
}
// Set up the bindings for the DesktopIcon, it is odd that
// we install them, and not the desktop icon.
JInternalFrame.JDesktopIcon di = frame.getDesktopIcon();
InputMap diInputMap = SwingUtilities.getUIInputMap
(di, JComponent.WHEN_IN_FOCUSED_WINDOW);
if (diInputMap == null) {
Object[] bindings = (Object[])UIManager.get
("DesktopIcon.windowBindings");
if (bindings != null) {
diInputMap = LookAndFeel.makeComponentInputMap(di, bindings);
SwingUtilities.replaceUIInputMap(di, JComponent.
WHEN_IN_FOCUSED_WINDOW,
diInputMap);
}
}
ActionMap diActionMap = SwingUtilities.getUIActionMap(di);
if (diActionMap == null) {
diActionMap = new ActionMapUIResource();
diActionMap.put("hideSystemMenu", new AbstractAction(){
public void actionPerformed(ActionEvent e){
JInternalFrame.JDesktopIcon icon = getFrame().
getDesktopIcon();
MotifDesktopIconUI micon = (MotifDesktopIconUI)icon.
getUI();
micon.hideSystemMenu();
}
public boolean isEnabled(){
return isKeyBindingActive();
}
});
SwingUtilities.replaceUIActionMap(di, diActionMap);
}
|
protected void | setupMenuOpenKey()
super.setupMenuOpenKey();
ActionMap map = SwingUtilities.getUIActionMap(frame);
if (map != null) {
// BasicInternalFrameUI creates an action with the same name, we override
// it as MotifInternalFrameTitlePane has a titlePane ivar that shadows the
// titlePane ivar in BasicInternalFrameUI, making supers action throw
// an NPE for us.
map.put("showSystemMenu", new AbstractAction(){
public void actionPerformed(ActionEvent e){
titlePane.showSystemMenu();
}
public boolean isEnabled(){
return isKeyBindingActive();
}
});
}
|
protected void | uninstallDefaults()
LookAndFeel.uninstallBorder(frame);
frame.setLayout(null);
internalFrameLayout = null;
|
protected void | uninstallKeyboardActions()
super.uninstallKeyboardActions();
if (isKeyBindingRegistered()){
JInternalFrame.JDesktopIcon di = frame.getDesktopIcon();
SwingUtilities.replaceUIActionMap(di, null);
SwingUtilities.replaceUIInputMap(di, JComponent.WHEN_IN_FOCUSED_WINDOW,
null);
}
|