Problem mit horizontal und vertikal scrollen

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
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:

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();
        }   
    }
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben