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.

2D Engine - Scrollfunktion einbauen?

Empfohlene Antworten

Veröffentlicht

Moin,

ich habe vor kurzem angefangen ein kleines Spiel zu schreiben. Die Routinen im Hintergrund laufen schon ganz gut, die Ressourcenverwaltung funzt und so weiter. Nun habe ich begonnen mich an die GUI zu wagen und nach einigen Anfangsproblemen habe ich in etwa sowas hier:

pioneer7.jpg

Jetzt nage ich aber an dem Problem das hier scrollbar zu bekommen - nicht nur das, die Landkarte muss sich wiederholen wenn man an einem Ende angekommen ist ;)

Im Augenblick befindet sich die Landkarte (Bild) in einem JPanel welches sich in einem JFrame befindet. Sämtliche Objekte, wie z.b. die Gebäude, sollen später einmal Components werden, welche ich theoretisch mit einem einfachen Befehl neu justieren kann.

Das große Rätsel wäre für mich die Landkarte selbst, ohne alles komplett neu zu generieren :)

Ideen wie ich vorzugehen habe? Welche Funktionen benötige ich?

Ich hab inzwischen ne Menge Ahnung vom Programmieren allgemein, aber Java GUI ist für mich ein komplett neues Gebiet und das was ich hier vor habe findet sich nicht in meinen Handbüchern ;)

  • Autor

Ich habe mir nun folgendes aus meinem Buch gebaut:


JScrollPane jsp = new JScrollPane(gamewindow);		

jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);	

jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

jsp.setVisible(true);

Das füge ich nun bei meinem Frame über .add() hinzu. Sieht nun etwas anders aus:

pioneer11.jpg

Zufrieden bin ich damit allerdings nicht. Die Vertikale Scrollbar wird von dem Image "verdeckt". Benutze ich sie scrollt das Bild aus dem Panel heraus und überdeckt den Bildschirm!!

Die Horizontale Scrollleiste hingegen funktioniert mehr oder weniger. Auf alle Fälle bleibt das Bild /im/ Panel - bis ich die Größe des Frames mit Drag&Drop verändere. Mache ich den Frame danach wieder kleiner bleibt das Bild einfach stehen und überdeckt wieder den Frame(!).

...irgendwas mache ich falsch :(

Kann mir hier denn keiner mit so einem trivialen Problem helfen??

  • Autor

Problem solved ;)

Ich habe um das Bild zu erstellen von Canvas abgeleitet. Diese AWT-Klasse scheint so ihre Probleme in Kombination mit dem JScrollPane zu haben. Nun benutze ich JComponent welches die selben Zeichenoptionen (und noch mehr) besitzt.

Schließen!

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.