Grafiske komponenter bliver ikke opdateret
Mit problem er at de grafiske komponenter ikke bliver opdateret i min applet.Jeg har to klasser:
Klassen ParameterObserver som er en applet (og min brugerflade).
klassen ParameterTransfer, som forespørger og modtager data eksternt fra.
Metoden ParameterTransfer.GetLogDataString(...) tager imod data i en loop.
For hver gang der loopes skal de modtagne data tegnes på min applet. Dette gør jeg ved at kalde
-------------------------------------
ActionEvent someDataReadyEvent = new ActionEvent(SomeDataReadyListener, 0, "some_data_ready");
SomeDataReadyListener.actionPerformed( someDataReadyEvent);
-------------------------------------
fra mit loop.
I klassen ParameterObserver har jeg så implementeret nedenstående metode til at tage imod data, og tegne dem med Chart.
public void actionPerformed(ActionEvent e)
{
// tegn data på brugerfladen
this.remove(mychart); // eksisterende graf fjernes
mychart = new Chart(modtagne_data); // nyt graf objekt oprettet, og modtagne data indsættes som parameter
add(mychart); // min graf tilføjes brugerfladen
mychart.setBounds(chartleft,chartup, chartwidth, chartheight); // størrelsen og placeringen sættes
mychart.repaint(); // grafen opdateres
this.repaint(); // hele min applet opdateres
}
...MEN mychart BLIVER IKKE TEGNET :-(
Ved at bruge debuggeren har jeg fundet ud af at:
actionPerformed(...) bliver kaldt.
modtagne data er korrekt.
der sker ingen exceptions, dvs at al koden bliver eksekveret.
Jeg har prøvet at vise en dialog-box (se nedenfor) til sidst, og hver gang BLIVER MYCHART OPDATERET.
Måske gør dette kald noget for at opdatere som jeg mangler????
-------------------------------------
JOptionPane.showMessageDialog(new JFrame(), "test", "test", JOptionPane.INFORMATION_MESSAGE);
-------------------------------------
