8.4.6 | JDesktopPane |
Das JDesktopPane ist direkt von JLayeredPane abgeleitet und bietet die Möglichkeit, ein Multiple Document Interface (MDI) mit JInternalFrames zu benutzen.
Um die Performance beim Verschieben der JInternalFrames zu erhöhen, kann man das JDesktopPane dazu veranlassen, beim Verschieben nur den Rahmen statt des gesamten Fensters kontinuierlich zu zeichnen.Material zum Beispiel
- Applet starten
- Quelltexte:
Seit Java1.3 gibt es dafür die Methode setDragMode(int mode). Hierbei kann man neben dem Standard JDesktopPane.LIVE_DRAG_MODE die Konstante JDesktopPane.OUTLINE_DRAG_MODE setzen.
Um dieses Feature bei älteren Versionen zu aktivieren, muss die MethodeputClientProperty("JDesktopPane.dragMode","outline")beim JDesktopPane aufgerufen werden.
Die Verwaltung des JInternalFrame übernimmt eine Implementierung des Interface DesktopManager. Dies ist typischerweise die Klasse DefaultDesktopManager.
JDesktopPane desktop = new JDesktopPane(); JInternalFrame iFrame = new JInternalFrame("Frame 1"); iFrame.setLayout(new BorderLayout()); JEditorPane editorPane = new JEditorPane("http://www.slashdot.org"); editirPane.setEditable(false); iFrame.add(editorPane, BorderLayout.CENTER); iFrame.setSize(300, 300); iFrame.setVisible(true); desktop.add(iFrame);