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.

Problem mit JLabel, ImageIcon und Rectangle2D

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe ein kleines Problem mit JLabel, ImageIcon und Rectangle2D. Ich will auf ein JLabel ein ImageIcon( Bild ) platzieren, klappt alles wunderbar. Es gibt auch keine Probleme. Danach will ich jedoch ein Rectangle2D(Quadrat) von beliebiger Größe auf das JLabel/ImageIcon setzen/malen. Das macht er auch, bloß, das Problem ist jetzt folgendes:

Wenn ich die Anwendung minimiere und wieder maximiere/wiederherstelle wird das Quadrat nicht mehr angezeigt. Das wird mehr oder weniger von dem Bild überlagert.

Ich habe dazu paar Events implementiert, die auf die Größenänderung und Drag Mouse reagiert, dass funktioniert und das Quadrat wird bei den Events gezeichnet.

Gibt es eine Möglichkeit das Quadrat beim Maximieren bzw. beim Focus kriegen auf dem JLabel im Vordergrund zu zeichnen?

Bzw. welches Event ist dafür verantwortlich um zu merken, dass das JLabel wieder angezeigt wird bzw. wieder im Vordergrund ist?

Bzw. kann man irgendwie die Prioritäten der Objekte beim JLabel vergeben? Dass z.B. Bilder immer unten sind und Rectangle dann oben.

Bedingung ist halt eben, dass man nicht auf das Frame bzw. auf das hauptfenster zugreifen darf.

vielleicht mit der methode repaint() arbeiten und WindowFocusListener ist dein freund.

  • Autor

Das Problem ist, dass es dann z.B. in einem SWT Fenster laufen sollte. Und der WindowListener ist nur mit dem JFrame verfügbar. Ich bräuchtemal sowas ähnliches für JLabel.

  • Autor

Problem wurde nun gelöst. Kann geschlossen werden.

Lösung:

paint() überschreiben und dort das Quadrat zeichnen. Falls sich die Position des Quadrates ändert, mit der if-Anweisung und einem boolean die Bounds nach Wunsch ändern.

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.