G
Guest
Gast
Hallo!
Ich hab eine horizontale und eine vertikale Scrollleiste (JScrollBar). Nun habe ich dass Problem, dass sich die vertikale mit der horizontalen immer mit ändert. Meine Methode sieht folgendermaßen aus:
Ich hab eine horizontale und eine vertikale Scrollleiste (JScrollBar). Nun habe ich dass Problem, dass sich die vertikale mit der horizontalen immer mit ändert. Meine Methode sieht folgendermaßen aus:
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 axis = hvp.getDomainAxis();
// avoid problems
this.chartPanel.getChart().removeChangeListener(this);
axis.setRange(val / this.scrollFactor, (val + ext) / this.scrollFactor);
// restore chart listener
this.chartPanel.getChart().addChangeListener(this);
}
}
}
catch (Exception e) {
e.printStackTrace();
}
try {
Object ysrc = event.getSource();
BoundedRangeModel yscrollBarModel = this.yscrollBar.getModel();
if (ysrc == yscrollBarModel) {
int yval = yscrollBarModel.getValue();
int yext = yscrollBarModel.getExtent();
Plot plot = chartPanel.getChart().getPlot();
if (plot instanceof XYPlot) {
XYPlot vvp = (XYPlot) plot;
ValueAxis yaxis = vvp.getDomainAxis();
// avoid problems
this.chartPanel.getChart().removeChangeListener(this);
yaxis.setRange(yval / this.scrollFactor, (yval + yext) / this.scrollFactor);
// restore chart listener
this.chartPanel.getChart().addChangeListener(this);
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}