Krain Geschrieben 20. Dezember 2003 Teilen Geschrieben 20. Dezember 2003 Hallo zusammen, mein problem ist: ich habe einen JDesktopPane in einem GridBagLayout. Darin will ich ein JInternalFrame setzen, welches genauso groß ist wie der DesktopPane. ich bekomme aus meinem Desktop allerdings nur ganz unrealistische Werte zurück. mit getSize bekomme ich (1,1) mit getWidth und getHeight bekomme ich jeweils 0 wie bekomme ich aus dem DesktopPane die gezeigte Grösse? Ich hab das schonmal irgendwo gelesen, finde hier im Forum nicht das richtige - kann mir jemand weiterhelfen?? mfg Krain Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 20. Dezember 2003 Teilen Geschrieben 20. Dezember 2003 Hm, ich weiß zwar nicht genau wie das ganze nachher aussehen soll, aber wenn etwas den kompletten verfügbaren Platz ausfüllen soll, weißt man dem parent Component als LayoutManager Borderlayout zu und plaziert die Componente in den Center Bereich. Also warum hat dein JDesktopPane ein GridBagLayout? Falls das nicht von dir kommt, kannst du auch mit GridBagConstraints.fill und GridBagConstraints.weightx, GridBagConstraints.weighty das Ausfüllen innerhalb eines GridBagLayout regeln. Vielleicht hilfts. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 20. Dezember 2003 Autor Teilen Geschrieben 20. Dezember 2003 Entschuldige - entweder hab ich mich falsch ausgedrückt oder du hast mich falsch verstanden. Der DesktopPane ist in einem Applet mit verschiedenen anderen Komponenten wie z.B. einem ButtonPanel und einem TextField-Panel über ein GridBagLayout positioniert. Dadurch bekommt der DesktopPane je nach größe des Applets eine Größe zugewiesen (wird also in das Layout eingepasst) Richtig!? Jetzt will ich auf diesem Desktop ein Chatfenster mit TextArea(InternalFrame) legen, welches genauso groß ist wie der Desktop Platz auf diesem Applet beansprucht. Problem ist jetzt, dass ich nicht weiß wie groß dieser DesktopPane ist. Mit der Methode desktopPane.getSize() bekomme ich werte, die einfach nicht realistisch sind. Ich hoffe, dass ich es jetzt verständlicher rüberbringen konnte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 20. Dezember 2003 Autor Teilen Geschrieben 20. Dezember 2003 Falls es hilft hab ich hier den relevanten Codeausschnitt, an dem eigentlich ersichtlich sein sollte, was ich meine! desk = new JDesktopPane(); // der DesktopPane c.add(jPanel4, BorderLayout.CENTER); jPanel4.add(LobbyNome, new GridBagConstraints(0, 0, 2, 1, 1.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); jPanel4.add(jLabel3, new GridBagConstraints(3, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); jPanel4.add(desk, new GridBagConstraints(0, 1, 2, 1, 1.0, 1.0 ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); // Hier wird der desk in das Panel gesetzt jPanel4.add(CampoTesto, new GridBagConstraints(0, 2, 1, 1, 1.0, 0.0 ,GridBagConstraints.SOUTH, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); jPanel4.add(Senden, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); jPanel4.add(clientList, new GridBagConstraints(3, 1, 1, 2, 0.0, 1.0 ,GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 4, 4)); jPanel4.add(ListaLobby, new GridBagConstraints(0, 0, 2, 1, 1.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); chatFrame.setSize(desk.getWidth(),desk.getHeight()); //hier will ich einem internalframe die größe des desk-objektes zuweisen desk.add(chatFrame); // hier wird der internalframe auf den desktop gelegt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.