有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用放大按钮在滚动条上显示java ChangeListener

我是JavaSwing和JFreeChart的初学者。 我已经做了一个XYLineChart,并且在这个图表中添加了一个滚动条。我已经为我的XYLineChart创建了一个类似SlidingCategoryDataset的SlidingXYDataset类。然后我的滚动条就可以工作了。代码如下:

JScrollBar scroller = new JScrollBar(JScrollBar.HORIZONTAL, 0, 10, 0, 20);

@Override
public void stateChanged(ChangeEvent e) {
    int value = scroller.getValue();
    dataset.setFirstItemIndex(value);
}

现在,当我使用缩放时,我不知道如何调整这个滚动条。对于缩放,我有一个带有ActionListener的按钮。当我按下按钮时,它会触发此代码(在我面板的构造函数中,setMouseZoomable为false):

public class ZoomListener extends MouseAdapter{
    private SpectrumPanel specPanel;   
    private SpectrumController control;
    private ChartPanel panel;
    private JFreeChart chart;

    public ZoomListener(SpectrumController c){   
        control = c;
        specPanel = c.getSpectrumPanel();
        panel = c.getSpectrumChartPanel().getChartPanel();
        chart = c.getSpectrumChartPanel().getChartPanel().getChart();
    }

    @Override
    public void mousePressed(MouseEvent e) { 
        panel.setMouseZoomable(true);
    }

    @Override
    public void mouseExited(MouseEvent e) {
        panel.removeMouseListener(this);
        panel.setMouseZoomable(false);
        panel.setHorizontalAxisTrace(false);
        panel.setVerticalAxisTrace(false);

        specPanel.getGraphPanel().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    }
}

如果你想把我的滚动条链接到缩放上,我会很乐意的。谢谢你的帮助


共 (0) 个答案