Обзор JScrollPane в Java

JScrollPane используется для предоставления прокручиваемого представления вашему компоненту. Когда размер экрана небольшой или ограниченный, мы можем использовать панель прокрутки для демонстрации большого компонента или компонента, размер которого динамически изменяется. Компонент должен быть легким, как изображение, таблица, текст, текстовое поле и т. Д. Компонент JScrollPane должен находиться внутри контейнера, как JFrame или JPanel. Это важный компонент в графическом программировании, особенно ваша потребность обрабатывать и отображать большое количество данных. В этой теме мы собираемся узнать о JScrollPane в Java. Когда у нас ограниченный размер экрана, нам нужно использовать панель прокрутки для следующих двух условий:

  1. Для отображения большого компонента.
  2. Для отображения динамически изменяемого размера компонента.

Класс JScrollPane представляет собой комбинацию областей просмотра и полос прокрутки. Он свяжет наш видовой экран с полосой прокрутки. Мы можем контролировать внешний вид наших полос прокрутки, используя свойства политики отображения полосы прокрутки: verticalScrollbarPolicy и horizontalScrollbarPolicy.

Оба эти свойства могут иметь значения AS_NEEDED, ALWAYS или NEVER. Он также имеет два дополнительных видовых экрана:

  1. rowHeading - используется для горизонтальной прокрутки
  2. columnHeading - используется для вертикальной прокрутки

Конструкторы

Единственная цель конструктора этого класса - создать панель прокрутки. Его размеры подрываются входными значениями этих конструкторов, то есть параметрами. Конструкторы класса JscrollPane бывают двух типов: параметризованные и непараметризованные, они далее классифицируются следующим образом:

1. JScrollPane () - создает пустую панель прокрутки (без viewPort). При необходимости он может иметь как вертикальные, так и горизонтальные полосы прокрутки.

Пример:

import java.awt.*;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Jscrollpane (
public static void main(String() args) (
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane();
panel.add(scrollPane);
frame.setContentPane(panel);
frame.setSize(500, 500);
frame.setLocationByPlatform(true);
frame.setVisible(true);
)
)

Выход:

2. JscrollPane (Компонент c) - Создает область прокрутки с указанным компонентом. Когда содержимое компонента больше, чем вид, появляется горизонтальная и вертикальная полоса прокрутки.

Пример:

import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Jscrollpane (
public static void main(String() args) (
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JTextArea tArea = new JTextArea(10, 10);
JScrollPane scrollPane = new JScrollPane(tArea);
panel.add(scrollPane);
frame.setContentPane(panel);
frame.setSize(500, 500);
frame.setLocationByPlatform(true);
frame.setVisible(true);
)
)

Выход:

3. JScrollPane (int vsPolicy, int hsPolicy) - создает панель прокрутки с указанными политиками прокрутки.

Пример:

import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Jscrollpane (
public static void main(String() args) (
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
panel.add(scrollPane);
frame.setContentPane(panel);
frame.setSize(500, 500);
frame.setLocationByPlatform(true);
frame.setVisible(true);
)
)

Выход:

4. JScrollPane (Component c, int vsPolicy, int hsPolicy) - создает панель прокрутки с указанным компонентом. Положение компонента контролируется парой полос прокрутки.

Пример:

import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Jscrollpane (
public static void main(String() args) (
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JTextArea tArea = new JTextArea(10, 10);
JScrollPane scrollPane = new JScrollPane(tArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
panel.add(scrollPane);
frame.setContentPane(panel);
frame.setSize(500, 500);
frame.setLocationByPlatform(true);
frame.setVisible(true);
)
)

Выход:

Методы в классе JscrollPane

  1. setColumnHeaderView (Component) - устанавливает заголовок столбца для панели прокрутки указанного компонента в параметрах.
  2. setRowHeaderView (Component) - устанавливает заголовок строки для области прокрутки указанного компонента в параметрах.
  3. setCorner (Строковый ключ, Компонент) - устанавливает угол панели прокрутки для указанного компонента в параметре. Строковый ключевой параметр наряду со следующим:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPane.LOWER_LEADING_CORNER, JScrollPane.ORING_RA
  4. getCorner (Component) - получает угол панели прокрутки для указанного компонента в параметре.

Примеры JScrollPane в Java

Вот некоторые из примеров, приведенных ниже

1. Пример программы для JscrollPane

import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Jscrollpane (
public static void main(String() args) (
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JTextArea tArea = new JTextArea(20, 20);
JLabel labelColumn = new JLabel("Column Header");
JLabel labelRow = new JLabel("Row Header");
JLabel label1 = new JLabel("UL");
JLabel label2 = new JLabel("UR");
JLabel label3 = new JLabel("LL");
JLabel label4 = new JLabel("LR");
JScrollPane scrollPane = new JScrollPane(tArea);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setColumnHeaderView(labelColumn);
scrollPane.setRowHeaderView(labelRow);
scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER, label1);
scrollPane.setCorner(JScrollPane.UPPER_RIGHT_CORNER, label2);
scrollPane.setCorner(JScrollPane.LOWER_LEFT_CORNER, label3);
scrollPane.setCorner(JScrollPane.LOWER_RIGHT_CORNER, label4);
panel.add(scrollPane);
frame.setContentPane(panel);
frame.setSize(500, 500);
frame.setLocationByPlatform(true);
frame.setVisible(true);
)
)

Выход:

2. Пример JTable с JScrollPane

import javax.swing.*;
import java.awt.*;
import javax.swing.table.TableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.DefaultTableCellRenderer;
public class JScrollDemo (
public static void main(String() args) (
(
String() index = new String() ( "S.No", "Continent", "Area (square.km)",
"Percentage Total Mass" );
JFrame frame = new JFrame("JScrollPane with JTable");
JLabel label = new JLabel("Continents Largest To Smallest", JLabel.CENTER);
Object()() data = new Object()() (
( "S.No", "Continent", "Area (square.km)", "Percentage Total Mass" )
( "1", "Asia", "44, 579, 000", "29.5%" ),
( "2", "Africa", "30, 370, 000", "20.4%" ),
( "3", "North America", "24, 709, 000", "16.5%" ),
( "4", "South America", "17, 840, 000", "12.0%" ),
( "5", "Antartica", "14, 000, 000", "9.2%" ),
( "6", "Europe", "10, 180, 000", "6.8%" ),
( "7", "Australia", "8, 600, 000", "5.9%" ), );
// creating a DeFaultTableModel object, which is subclass of
// TableModel
DefaultTableModel TableModel = new DefaultTableModel(data, index);
// Initializing a JTable from DefaultTableModel.
JTable table = new JTable(TableModel);
// Adjusting the contents of each cell of JTable in CENTER
DefaultTableCellRenderer tableCellRenderer = new DefaultTableCellRenderer();
// Aligning the table data centrally.
tableCellRenderer.setHorizontalAlignment(JLabel.CENTER);
table.setDefaultRenderer(Object.class, tableCellRenderer);
// Creating a JPanel, setting it layout to BorderLayout and adding
// JTable to it.
JPanel panel = new JPanel(new BorderLayout());
panel.add(table, BorderLayout.CENTER);
// Creating a JScrollPane and adding its functionalities to JPanel
JScrollPane scrollPane = new JScrollPane(panel);
// Adding a JLabel and JScrollPane to JFrame.
frame.add(label, BorderLayout.NORTH);
frame.add(scrollPane, BorderLayout.CENTER);
frame.setSize(320, 200);
frame.setVisible(true);
)
)
)

Выход:

Вывод

Когда размер экрана ограничен, нам нужно использовать панель прокрутки для отображения больших компонентов или компонентов, размер которых может динамически изменяться.

Рекомендуемые статьи

Это руководство по JScrollPane в Java. Здесь мы обсуждаем конструктор, методы и примеры JScrollPane в Java. Вы также можете взглянуть на следующие статьи, чтобы узнать больше -

  1. 2D массивы в Java
  2. Массивы в JavaScript
  3. Звездные узоры на Яве
  4. Пока цикл в Java
  5. JPanel на Яве | Как создать панель?
  6. Примеры JFrame в Java
  7. JLabel на Java
  8. Flowlayout в Java
  9. 3 различных типа массивов в PHP (примеры)
  10. Руководство по Программе JTable на Java