Огляд JScrollPane на Java

JScrollPane використовується, щоб надати прокручуваному вигляду вашому компоненту. Коли розмір екрана невеликий або обмежений, ми можемо використовувати панель прокрутки, щоб показати великий компонент або компонент, розмір якого динамічно змінюється. Компонент повинен бути легким, як зображення, таблиця, текст, текстові області тощо. Компонент JScrollPane повинен знаходитися всередині контейнера, наприклад, JFrame або JPanel. Це важливий компонент у графічному програмуванні, особливо вам потрібно обробляти та відображати велику кількість даних. У цій темі ми дізнаємось про JScrollPane на Java. Якщо у нас обмежений розмір екрана, нам потрібно використовувати панель прокрутки для наступних двох умов:

  1. Для відображення великого компонента.
  2. Відображення компонента, що змінюється в динамічному розмірі.

Клас JScrollPane - це комбінація вікон перегляду та смуг прокрутки. Він з'єднає наш огляд із панеллю прокрутки. Ми можемо керувати нашими поясами прокрутки, використовуючи властивості політики відображення смуги прокрутки: вертикальнаScrollbarPolicy та horizontalScrollbarPolicy.

Обидва ці властивості можуть мати значення AS_NEEDED, ALWAYS або NIVER. Він також має два додаткові вікна перегляду:

  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 (Компонент 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 (Компонент) - встановлює заголовок стовпця для області прокрутки зазначеного компонента в параметрах.
  2. setRowHeaderView (Компонент) - встановлює заголовок рядка для області прокрутки зазначеного компонента в параметрах.
  3. setCorner (Строкова клавіша, Компонент) - Він встановлює кут для панелі прокрутки для зазначеного компонента в параметрі. Параметр ключа рядка складається з наступного:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPane.LOWER_LEADING_CORNER, JScrollPane.LOWER_TRAILING_CORNER, JScrollPane.UPPER_LEADING_CORNER, JScrollPane.UPPER_TRAILING_CORNER
  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 на Java | Як створити панель?
  6. Приклади JFrame в Java
  7. JLabel на Java
  8. Розкладка в Java
  9. 3 різні типи масивів у PHP (приклади)
  10. Керівництво по програмі JTable на Java