Working with JScrollPane Headers and Corners : JScrollPane « Swing « Java Tutorial






To place a component in one of the corners of the JScrollPane, call setCorner(String key, Component corner) key is

  1. JScrollPane.LOWER_LEFT_CORNER,
  2. JScrollPane.LOWER_RIGHT_CORNER,
  3. JScrollPane.UPPER_LEFT_CORNER, or
  4. JScrollPane.UPPER_RIGHT_CORNER.
import java.awt.BorderLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingUtilities;

public class MainClass {

  public static void main(String[] a) {
    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.add(new JScrollPaneDemo());
    f.setSize(500, 500);
    f.setVisible(true);
  }
}

class JScrollPaneDemo extends JPanel {

  public void init() {
    try {
      SwingUtilities.invokeAndWait(new Runnable() {
        public void run() {
          makeGUI();
        }
      });
    } catch (Exception exc) {
      System.out.println("Can't create because of " + exc);
    }
  }

  private void makeGUI() {

    setLayout(new BorderLayout());

    JPanel jp = new JPanel();
    jp.setLayout(new GridLayout(20, 20));
    int b = 0;
    for (int i = 0; i < 20; i++) {
      for (int j = 0; j < 20; j++) {
        jp.add(new JButton("Button " + b));
        ++b;
      }
    }

    int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
    int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
    JScrollPane jsp = new JScrollPane(jp, v, h);

    add(jsp, BorderLayout.CENTER);
  }
}








14.46.JScrollPane
14.46.1.Working with JScrollPane Headers and Corners
14.46.2.Add component to JScrollPaneAdd component to JScrollPane
14.46.3.Create a scrollable list
14.46.4.A corner component is displayed only if the two components at a right angle from the corner are currently shown.A corner component is displayed only if the two components at a right angle from the corner are currently shown.
14.46.5.Set Row Header ViewSet Row Header View
14.46.6.Adding component to JScrollPane using its constructorAdding component to JScrollPane using its constructor
14.46.7.JScrollPane: display a large component within a smaller display areaJScrollPane: display a large component within a smaller display area
14.46.8.Set Continuous Layout
14.46.9.Resetting the Viewport Position: move JScrollPane to the topResetting the Viewport Position: move JScrollPane to the top
14.46.10.Customizing a JScrollPane Look and Feel
14.46.11.Get the default scrollbar policy
14.46.12.Listening for Scrollbar Value Changes in a JScrollPane Container
14.46.13.Make the scrollbars always appear
14.46.14.Make the scrollbars never appear
14.46.15.JScrollPane Scrollbar Policies