expertenaustausch > comp.lang.* > comp.lang.java

Christian H. Kuhn (07.01.2019, 20:34)
Liebe Gemeinde,

noch jemand hier? Wenn nicht: wohin soll ich mich wenden?

MVC-Modell in JavaFX. Scene hat ein BorderLayout. Top und Left befinden
sich verschiedene Auswahlelemente, die ihre Werte an den Controller
geben. Center hat ein LineChart<String, Number>, das vom Controller per
setData() seine Werte erhält.

Ändere ich die Daten, indem ich die Auswahl über eine der beiden
ToggleGroup in Top ändere, klappt alles. Ändere ich die Daten über die
ListView in Left, wird die Y-Achse (die X-Achse ändert sich nicht, da
sind Monat-Jahr-Paare als String, die sind immer gleich) in knapp einem
Drittel der Fälle nicht oder falsch neu skaliert. Die übertragenen Daten
sind korrekt, und nach einer Änderung der Fenstergröße zeichnet sich das
auch alles wieder richtig.

Das ist deshalb besonders seltsam, weil alle Änderungen der drei
Auswahlelemente zuletzt beim gleichen ChangeListener im Controller
landen, der als einziger weiß, woher er die Daten bekommt und wohin er
sie schickt. Der setzt auch den LineChart-Titel, und der gibt der
Series, die die angezeigten Daten enthält, den richtigen Namen. Das
klappt alles. Nur der Y-Maßstab verrutscht regelmäßig. Und das ist
blöde, wenn ich damit Daten beim Kunden präsentieren will.

Ich vermute, dass sich das Problem lösen lässt, wenn ich die Stage zum
Neuzeichnen zwinge. Google findet mir aber keine Softwarelösung. Und
Stage.refresh() existiert nicht. Wie geht es richtig? Alternativ:
Wodurch entsteht mein Problem überhaupt, und wie vermeide ich es?

TIA
QNo
Patrick Roemer (07.01.2019, 22:33)
Responding to Christian H. Kuhn:
> noch jemand hier?


Es wird hier vielleicht noch ein paar Mitleser geben, aber die haben
dann halt alle so viel Ahnung von JavaFX wie ich.

> Wenn nicht: wohin soll ich mich wenden?


Da habe ich leider auch keine Ahnung. Ist ja heutzutage alles über
Gitter, Discourse und wahrscheinlich auch noch FB, Twitter und 4chan
verstreut. Ich versuche es üblicherweise direkt auf den (meist
englischsprachigen) Mailinglisten (oder ersatzweise Foren) der
jeweiligen Projekte, aber das JavaFX-Forum bei Oracle sieht ähnlich
lebendig aus wie diese Gruppe hier...

Viele Grüße
Patrick
Michael Paap (08.01.2019, 01:02)
Am 07.01.2019 um 19:34 schrieb Christian H. Kuhn:

> noch jemand hier? Wenn nicht: wohin soll ich mich wenden?


[...]

> Ich vermute, dass sich das Problem lösen lässt, wenn ich die Stage zum
> Neuzeichnen zwinge. Google findet mir aber keine Softwarelösung.


Bei



ist nix dabei, was weiterhilft? Stackoverflow?

Gruß
Michael
Christian H. Kuhn (09.01.2019, 00:44)
Am 08.01.2019 um 00:02 schrieb Michael Paap:
> Am 07.01.2019 um 19:34 schrieb Christian H. Kuhn:
>> Ich vermute, dass sich das Problem lösen lässt, wenn ich die Stage zum
>> Neuzeichnen zwinge. Google findet mir aber keine Softwarelösung.

> Bei
>
> ist nix dabei, was weiterhilft? Stackoverflow?


Alles nix. repaint war mir nicht eingefallen, ich hatte refresh gesucht.
Zum Teil überlappen sich die Ergebnisse, zum Teil sind andere
Fehlerquellen der Anlass, und zum Teil wird die klassische
Windows-Methode (schließen, öffnen) angewandt, die hier nicht geht.
Erfolgversprechend sah eigentlich nur requestLayout() aus. Hab ich
ausprobiert, mag nicht. Ärgerlich.

lg
QNo
Ähnliche Themen