Hi, ich habe nochmal eine Frage hinsichtlich JDesktopPane:
Ich möchte eine Bildlaufleiste in eine JDesktopPane einfügen. Da die JDesktopPane ein Null-Layout besitzt, muss ich die Bildlaufleiste absolut positionieren. Soweit habe ich auch ein kleines ausführbares Bespiel gebastelt:
Mein Problem ist, dass sich die JInternalFrames stets vor die Bildlaufleiste legen. - Es müsste aber genau umgedreht sein!
Ich komme hier leider nicht allein weiter... Folgendes habe ich bereits erfolglos ausprobiert:
Könnt ihr mir bitte weiterhelfen?
Ich möchte eine Bildlaufleiste in eine JDesktopPane einfügen. Da die JDesktopPane ein Null-Layout besitzt, muss ich die Bildlaufleiste absolut positionieren. Soweit habe ich auch ein kleines ausführbares Bespiel gebastelt:
Java:
import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JScrollBar;
import javax.swing.UIManager;
@SuppressWarnings("serial")
public class DesktopPaneTest extends JDesktopPane {
private static void changeUI(Component component) {
try {
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
javax.swing.SwingUtilities.updateComponentTreeUI(component);
} catch(Exception ex) {
ex.printStackTrace();
}
}
public DesktopPaneTest() {
super();
}
public static void main(String[] args) {
JFrame win = new JFrame();
DesktopPaneTest desk = new DesktopPaneTest();
JInternalFrame fra = new JInternalFrame();
JScrollBar scroll = new JScrollBar(JScrollBar.HORIZONTAL);
win.setSize(800, 600);
win.getContentPane().add(desk);
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
desk.add(fra);
desk.add(scroll);
fra.setBounds(100, 0, 200, 200);
fra.setVisible(true);
changeUI(win);
win.setVisible(true);
scroll.setBounds(0, 0, win.getContentPane().getWidth(), 17);
}
}
Mein Problem ist, dass sich die JInternalFrames stets vor die Bildlaufleiste legen. - Es müsste aber genau umgedreht sein!
Ich komme hier leider nicht allein weiter... Folgendes habe ich bereits erfolglos ausprobiert:
Code:
desk.moveToFront(scroll);
Code:
desk.setComponentZOrder(scroll, 1);
Könnt ihr mir bitte weiterhelfen?