java jscroll how to disable scrolling while user is holding the thumb

java jscroll how to disable scrolling while user is holding the thumb
newagedevil4uAsked:
Who is Participating?
 
girionisConnect With a Mentor Commented:
You will have to consume the scrolling event while the key is pressed. Have a look here for something similar:

http://www.soft-amis.com/serendipity/index.php?/archives/12-Class-that-any-Swing-application-cant-live-without.html
0
 
newagedevil4uAuthor Commented:
Here is the test code.
package com.nsn.cdr;
 
import javax.swing.*;
import java.util.*;
import javax.swing.text.*;
 
public class ScrollTest extends JFrame implements Runnable
{
 
    Thread thread;
    JTextPane content;
    JScrollPane contentScroll;
    Document doc;
    int i =0;
 
    public ScrollTest() {
        super("Scroll test");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        content=new JTextPane();
        content.setEditable(false);
        doc=content.getDocument();
//        contentScroll=new JScrollPane(content);
        contentScroll=new JScrollPane();
 
 
        getContentPane().add(contentScroll);
        thread=new Thread(this);
        thread.setDaemon(true);
        thread.start();
        setSize(300,150);
        setVisible(true);
    }
 
    public void run()
    {
        while(true&&i<1)
        {
            final String line=("gfdgdfgdfgdfghdfhdfhdfhdfhdfhdfhdfhdfgdfgdfgdfhgdfghdifhgudfhgudfhguhdfughdfughdfuihgidfhgdfhgdfhguhdfiguhdfuighudfihgudfhgdfhguhdfghdfughudfhgudfhgudfguhdfughfdghfdhgudfhgufhgudfhgufdhguhfdugfugh"
                               +"\n"+"dfjgdfijgidfjgidfjgijdf"+"\n"+"jgdfgdfkgldfkg"+"\n"+"jgijsdfgij");
            SwingUtilities.invokeLater(new Runnable()
            {
                public void run()
                {
                    try
                    {
                        doc.insertString(doc.getLength(),line,null);
                        i++;
                    }
                    catch(BadLocationException e){}
                }
            });
 
            try
            {
                    Thread.currentThread().sleep(1000);
            }
            catch(Exception e){}
        }
 
    }
 
    public static void main(String[] args) {
        new ScrollTest();
    }
 
}

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.