Zum Inhalt springen

SetSize() für JInternalFrame


Krain

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...