![]() |
java - jscrollpane & graphen
hi leute
ich habe probleme mit einen programm. und zwar schaffe ich es nicht scrollbalken in mein internalframe einzubinden. der graph ist aber eindeutig grösser als das scrollpane und somit sollten balken erzeugt werden. hier der code: Code:
package hilfe;wäre echt dankbar. ich kämpfe nun schon seit tagen damit. danke im vorraus jopp |
hast du schon mal überlegt die policy auf ALWAYS zu setzen
JScrollPane.setHorizontalScrollBarPolicy(int) JScrollPane.setVerticalScrollBarPolicy(int) ich hab den code nur überflogen, hab grad net mehr zeit aber das is mal eine abhilfe für den moment |
danke für deine antwort, und sorry, dass ich erst so spät antworte.
habe es geschafft. die scrollbalken werden jetzt angezeigt. aber schon hat sich das nächste problem ergeben. und zwar wird der graph anscheinend immer wieder neu gezeichnet oder so. am einfachsten erklären es wohl die bilder: erstes zeigt den graphen nach dem programmstart (es wurde noch nicht gescrollt) zweites bild zeigt den graphen nach dem gescrollt wurde also irgenwie scheint es mir, als würde das bild sehr oft neu gezeichnet werden, oder auch nur bestimmte bereiche. ich habe gehört/gelesen, dass hierzu eventuell mit bufferimage was machen kann. leider habe ich auch damit, noch keine erfahrung. wenn du dich damit auskennst, wäre es nennt wenn du mir kurz einen tip geben könntest. danke jopp |
Hab' leider von swing&awt wenig ahnung, vielleicht gehts aber so:
Ein image1 erstellen und in dieses Image die Pixel des Graphen hineinkopieren. Der Code stammt aus einem Delphi Programm, das ich vor ein paar Jahren geschrieben hab (zeichnet die Mandelbrotmenge). form1.image1.Canvas.copyrect(form1.ClientRect, form1.Canvas, form1.ClientRect); //Speicherung des Ergebnissbildes in Image1 Das Problem schaut ganz allgemein so aus, als ob er die Cursorposition "mitverschiebt"-vielleicht kannst du es also auch durch speichern der Cursorposition lösen. Jak |
danke für deine antwort
das mit dem bild habe ich mir auch schon überlegt. da ich das mit dem scrollen auch von einem programm mit einem bild habe sollte das auf jeden fall funktionieren. einziges problem ist, dass ich keinen schimmer von bilderstellung mit java habe. werde mich mal schlau darüber machen und versuchen ein kleines test programm zu schreiben. auf jeden fall danke. jopp |
problem gelöst
statt paint(Graphics g) einfach paintComponent(Graphics g) verwenden. und dann noch einmal super.paintComponent(g) aufrufen. damit funktioniert das ganze einwandfrei. warum? keine ahnung, ich habe irgendwo gelesen, das es besser ist die paintComponent methode zu verwenden. da die paint methode eigetnlich für awt ist und unter swing alles mögliche zusätzlich macht oder so. aber wurscht, es funktioiert. warum und weßhalb, damit kann man sich ja später auch noch beschäftigen. danke für die hilfe jopp |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 02:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag