使用放大按钮在滚动条上显示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) 个答案