Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SetSize() für JInternalFrame

Empfohlene Antworten

Veröffentlicht

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

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

  • Autor

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.

  • Autor

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.