G
Guest
Gast
Hallo!
Hab folgendes Problem: Habe eine Signalkurve, die ich zoomen und scrollen kann. Wenn ich vertical scrolle, ändert sich meine Kurve in die falsche Richtung. Was ist bei meinem Programm falsch?
Hab folgendes Problem: Habe eine Signalkurve, die ich zoomen und scrollen kann. Wenn ich vertical scrolle, ändert sich meine Kurve in die falsche Richtung. Was ist bei meinem Programm falsch?
Code:
public void stateChanged(ChangeEvent event) {
try {
Object src = event.getSource();
BoundedRangeModel scrollBarModel = this.xscrollBar.getModel();
if (src == scrollBarModel) {
int val = scrollBarModel.getValue();
int ext = scrollBarModel.getExtent();
Plot plot = this.chartPanel.getChart().getPlot();
if (plot instanceof XYPlot) {
XYPlot hvp = (XYPlot) plot;
ValueAxis xaxis = hvp.getDomainAxis();
this.chartPanel.getChart().removeChangeListener(this);
xaxis.setRange(val / this.xscrollFactor, (val + ext) / this.xscrollFactor);
// restore chart listener
this.chartPanel.getChart().addChangeListener(this);
}
}
}
catch (Exception e) {
e.printStackTrace();
}
try{
Object src = event.getSource();
BoundedRangeModel yscrollBarModel = this.yscrollBar.getModel();
if (src == yscrollBarModel) {
int val = yscrollBarModel.getValue();
int ext = yscrollBarModel.getExtent();
Plot plot = this.chartPanel.getChart().getPlot();
if (plot instanceof XYPlot) {
XYPlot vvp = (XYPlot) plot;
ValueAxis yaxis = vvp.getRangeAxis();
System.out.println ("Lower 1: " + yaxis.getLowerBound());
System.out.println ("Upper 1: " + yaxis.getUpperBound());
this.chartPanel.getChart().removeChangeListener(this);
yaxis.setRange((val) / this.yscrollFactor, (val + ext) / this.yscrollFactor);
this.chartPanel.getChart().addChangeListener(this);
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}