Resetting the Viewport Position: move JScrollPane to the top : JScrollPane « Swing « Java Tutorial






Resetting the Viewport Position: move JScrollPane to the top
import java.awt.event.*;
import javax.swing.*;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;

class JScrollPaneToTopAction implements ActionListener {
  JScrollPane scrollPane;
  public JScrollPaneToTopAction(JScrollPane scrollPane) {
    if (scrollPane == null) {
      throw new IllegalArgumentException(
        "JScrollPaneToTopAction: null JScrollPane");
    }
    this.scrollPane = scrollPane;
  }
  public void actionPerformed(ActionEvent actionEvent) {
    JScrollBar verticalScrollBar = scrollPane.getVerticalScrollBar();
    JScrollBar horizontalScrollBar = scrollPane.getHorizontalScrollBar();
    verticalScrollBar.setValue(verticalScrollBar.getMinimum());
    horizontalScrollBar.setValue(horizontalScrollBar.getMinimum());
  }
}


public class JScrollPaneToTopActionDemo {

  public static void main(String args[]) {
    JFrame frame = new JFrame("Tabbed Pane Sample");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JLabel label = new JLabel("Label");
    label.setPreferredSize(new Dimension(1000, 1000));
    JScrollPane jScrollPane = new JScrollPane(label);

    JButton bn = new JButton("Move");
    
    bn.addActionListener(new JScrollPaneToTopAction(jScrollPane));
    
    frame.add(bn, BorderLayout.SOUTH);
    frame.add(jScrollPane, BorderLayout.CENTER);
    frame.setSize(400, 150);
    frame.setVisible(true);
  }
}








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