Servus,
ich kann mir gerade nicht erklären warum es die JScrollPane nicht aktualisiert.
Ich habe eine JTabbedPane die JScrollPanes trägt, die als Reiter funktionieren.
Nun sind in den ScrollPanes meist JPanels, ein Reiter etwa soll nach einer ausgelösten Action ein JPanel bekommen, das als Zeichenfläche fungieren soll. Naja das Action Handling funktioniert, die Zeichenklasse leitet sich von JPanel ab und zeichnet auch nur eine Testlinie, da sollte auch nichts anbrennen. Ich denke es liegt an einem Layoutmanager oder einem Fehler beim 'Einsetzen' des neuen JPanels. Ich habe aus der JScrollPane des Tabs alle Komponenten removed und dann das neue JPanel geaddet. Als Ergebnis wird das alte JPanel entfernt aber das neue nicht angezeigt.
Danke vorab.
Hier der Code:
ich kann mir gerade nicht erklären warum es die JScrollPane nicht aktualisiert.
Ich habe eine JTabbedPane die JScrollPanes trägt, die als Reiter funktionieren.
Nun sind in den ScrollPanes meist JPanels, ein Reiter etwa soll nach einer ausgelösten Action ein JPanel bekommen, das als Zeichenfläche fungieren soll. Naja das Action Handling funktioniert, die Zeichenklasse leitet sich von JPanel ab und zeichnet auch nur eine Testlinie, da sollte auch nichts anbrennen. Ich denke es liegt an einem Layoutmanager oder einem Fehler beim 'Einsetzen' des neuen JPanels. Ich habe aus der JScrollPane des Tabs alle Komponenten removed und dann das neue JPanel geaddet. Als Ergebnis wird das alte JPanel entfernt aber das neue nicht angezeigt.
Danke vorab.
Hier der Code:
Code:
... Klasse JobaDrawPanel extends JPanel ...
/**
* paintComponent()
*
*
*/
protected void paintComponent( Graphics g )
{
super.paintComponent(g); // Elternklassen ihre Sachen zeichnen lassen
// Testlinie
g.drawLine( 20, 40, 400, 40 );
...
.... Klasse JobaGui ....
public void actionPerformed(ActionEvent evt)
{
if ( evt.getActionCommand() == "Testbutton" )
{
JOptionPane.showMessageDialog(null, "ActionListener aus Testbutton ist da...");
// stoße Berechnung an
// Objekt der Huellenberechnung starten
JobaConvexHull jch = new JobaConvexHull(); // Konstruktor mit Dummyarray
// Variablen für den JobaDrawPanel-Konstruktor beschaffen
int cosysx = jch.getMaxXSoFar()[0] + 50;
int cosysy = jch.getMaxYSoFar()[1] + 50;
int[][] ptd = jch.getPoints();
int[][] cptd = jch.getConvexHullPoints();
int[][] lcptd = jch.getLeftHullSortedByY();
int[][] rcptd = jch.getRightHullSortedByY();
// Erwartung JobaDrawPanel-Konstruktor: int cosysx, int cosysy, int[][] ptd, int[][] cptd, int[][] lptd, int[][] rcptd
JobaDrawPanel jdp = new JobaDrawPanel(cosysx, cosysy, ptd, cptd, lcptd, rcptd);
jdp.setBackground(Color.blue);
drawTabScrollPane.removeAll();
drawTabScrollPane.add(jdp);
drawTabScrollPane.revalidate();
drawTabScrollPane.repaint();
}