Hallo,
ich habe folgendes Problem :
Innerhalb eines Jframes sind mehrere Panels integriert ( das ganze dient als GUI). Unteranderem auch ein TabbedPanel in welchem sich ein JScrollJpanel befindet.
(Die ganzen Parameter Einstellungen lass ich jetzt mal raus, da der Code etwas Komplexer ist)
Nun Zeichne ich mit paint(Graphics g) auf mein Panel. Das ganze Funktioniert auch ganz gut . Das Problem ist nur, falls ich scrolle dann verschwindet meine Zeichnung (bzw. der Teil welcher aus dem ScrollPanel verschwindet) . Meiner Vermutung nach ist das ganze auf Repaint() zurückzuführen, welche ebenfalls nicht funktioniert. Alternativ habe ich schonmal einen Lösungsansatz gefunden, welcher wie folgt aussah :
Allerdings wird mein Panel beim Aufruf von doRedraw() wieder komplett leer. Weiß jemand weiter ?
Danke im vorraus
ich habe folgendes Problem :
Innerhalb eines Jframes sind mehrere Panels integriert ( das ganze dient als GUI). Unteranderem auch ein TabbedPanel in welchem sich ein JScrollJpanel befindet.
Code:
JTabbedPane SideBar = new JTabbedPane(JTabbedPane.TOP);
...
CoordinatePanel = new JPanel();
CoordinatePanel.setPreferredSize(new Dimension(1000, 1000));
ScrollCoordinatePanel = new JScrollPane(CoordinatePanel);
...
SideBar.addTab("Coordinate System", null, ScrollCoordinatePanel, null);
(Die ganzen Parameter Einstellungen lass ich jetzt mal raus, da der Code etwas Komplexer ist)
Nun Zeichne ich mit paint(Graphics g) auf mein Panel. Das ganze Funktioniert auch ganz gut . Das Problem ist nur, falls ich scrolle dann verschwindet meine Zeichnung (bzw. der Teil welcher aus dem ScrollPanel verschwindet) . Meiner Vermutung nach ist das ganze auf Repaint() zurückzuführen, welche ebenfalls nicht funktioniert. Alternativ habe ich schonmal einen Lösungsansatz gefunden, welcher wie folgt aussah :
Code:
public void doRedraw(){
CoordinatePanel.getTopLevelAncestor().revalidate();
CoordinatePanel.getTopLevelAncestor().repaint();
}
Allerdings wird mein Panel beim Aufruf von doRedraw() wieder komplett leer. Weiß jemand weiter ?
Danke im vorraus