How to increase the slow scroll speed on a JScrollPane?

Ronak picture Ronak · Apr 12, 2012 · Viewed 9k times · Source

I am adding a JPanel in a JScrollPane in my project.

All is working fine, but there is one problem about mouse scroll using the mouse-Wheel in JPanel. It's speed is very slow on scrolling. How to make it faster?

My code is :

JPanel panel = new JPanel();

panel.setLayout(new BorderLayout());
objCheckBoxList = new CheckBoxList();
BaseTreeExplorer node = (BaseTreeExplorer)projectMain.objCommon.tree.getLastSelectedPathComponent();
if (node.getObject() != null) {
    cmbList.setSelectedItem(node.getParent().toString());
} else {
    if (node.toString().equalsIgnoreCase("List of attributes")) {
        cmbList.setSelectedIndex(0);
    } else {
        cmbList.setSelectedItem(node.toString());
    }
}

panel.add(objCheckBoxList);

JScrollPane myScrollPanel = new JScrollPane(panel);

myScrollPanel.setPreferredSize(new Dimension(200, 200));
myScrollPanel.setBorder(BorderFactory.createTitledBorder("Attribute List"));

Answer

mbaydar picture mbaydar · Apr 12, 2012

You can set your scrolling speed with this line of code

myJScrollPane.getVerticalScrollBar().setUnitIncrement(16);
Here is details.