JLayeredPane - Größe anpassen
-
Hallo,
kann mir jemand sagen wie ich eine Instanz JLayeredPane zum JFrame
einfügen kann, so dass sich die Größe automatisch an die Fenstergröße (jframe) anpaßt und dann aber auch per getSize() (oder ähnlich) korrekte Werte zurückgegeben werden (nicht 0,0).public class MapWin extends JLayeredPane { public MapWin() { super(); layers = new Hashtable(); setBackground(new Color(0,0,255)); setBorder(BorderFactory.createTitledBorder("title")); System.out.println(getSize().toString()); //falsche } } public class MapAppl extends JFrame implements { public MapAppl(String title) { super(title); } public static void main(String[] args) { MapAppl mapAppl = new MapAppl("END TEST"); Container cPane = mapAppl.getContentPane(); MapWin mapWin = new MapWin(); cPane.add(mapWin); class WClose extends WindowAdapter { public void windowClosing(WindowEvent we) { System.exit(0); } } mapAppl.addWindowListener(new WClose()); mapAppl.setSize(300,500); mapAppl.show(); } }
... vielleicht irgendwie durch einen LayoutManager oder sonstiges. Ich habe auch schon versucht manuell die Größe zu setzen, z.B.:
public void paint(Graphics g) { Component c = getParent(); while(c != null) { if(c instanceof javax.swing.JFrame) break; c = (Component) c.getParent(); } setPreferredSize(new Dimension(c.getWidth()-100, c.getHeight()-100)); //gibt zwar die gleiche Größe aus wie JFrame, tut sich aber nichts System.out.println("Jetzt hat MapWin groesse: [" + getWidth() + ", " + getHeight() + "]"); } }
... hat wer ne idee ?
-
Hat sich schon gelöst... Observer
lg
kati