JScrollPane
Set scrollbar policy in JScrollPane container
With this example we are going to see how to set scroll bar policy in a JScrollPane
container. This is very useful when you want to further customize your scroll bars.
Basically all you have to do to set scroll bar policy in a JScrollPane
is:
- Create a new
JFrame
. - Create a new
JTextArea
. - Create a new
JScrollPane
with the above text area. - Use
setHorizontalScrollBarPolicy
,setVerticalScrollBarPolicy
to set the scroll bar policy.
Let’s see the code:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | package com.javacodegeeks.snippets.desktop; import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class SetScrollbarPolicyInJScrollPaneContainer { private static final long serialVersionUID = 1L; private static void createAndShowGUI() { // Create and set up the window. final JFrame frame = new JFrame( "Scroll Pane Example" ); // Display the window. frame.setSize( 200 , 200 ); frame.setVisible( true ); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // set flow layout for the frame frame.getContentPane().setLayout( new FlowLayout()); JTextArea textArea = new JTextArea( 5 , 5 ); JScrollPane scrollableTextArea = new JScrollPane(textArea); // determine when the horizontal scrollbar appears in the scrollpane int horizontalPolicy = JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED; // int horizontalPolicy = JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS; // int horizontalPolicy = JScrollPane.HORIZONTAL_SCROLLBAR_NEVER; // determine when the vertical scrollbar appears in the scrollpane int vericalPolicy = JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED; // int vericalPolicy = JScrollPane.VERTICAL_SCROLLBAR_ALWAYS; // int vericalPolicy = JScrollPane.VERTICAL_SCROLLBAR_NEVER; scrollableTextArea.setHorizontalScrollBarPolicy(horizontalPolicy); scrollableTextArea.setVerticalScrollBarPolicy(vericalPolicy); frame.getContentPane().add(scrollableTextArea); } public static void main(String[] args) { //Schedule a job for the event-dispatching thread: //creating and showing this application's GUI. javax.swing.SwingUtilities.invokeLater( new Runnable() { public void run() { createAndShowGUI(); } }); } } |
This was an example on how to set scroll bar policy in a JScrollPane container.