Преглед на JScrollPane в Java

JScrollPane се използва за даване на превъртащ изглед на вашия компонент. Когато размерът на екрана е малък или ограничен, можем да използваме панел за превъртане, за да покажем голям компонент или компонент, чийто размер се променя динамично. Компонентът трябва да бъде лек като изображение, таблица, текст, текстови области и др. Компонентът JScrollPane трябва да бъде вътре в контейнера като JFrame или JPanel. Той е важен компонент в графичното програмиране, особено трябва да боравите и да показвате голямо количество данни. В тази тема ще научим за JScrollPane в Java. Когато имаме ограничен размер на екрана, тогава трябва да използваме панел за превъртане за следните две условия:

  1. За показване на голям компонент.
  2. За показване на компонент с динамично изменящ се размер.

Класът JScrollPane е комбинация от изгледни списъци и ленти за превъртане. Той ще свърже нашия оглед с лентата за превъртане. Можем да контролираме изявите си с превъртащи ленти, като използваме свойствата на правилата за показване на лентата за превъртане: вертикалнаСкролиранеПолитика и хоризонталнаСкролирПолица.

И двете тези свойства могат да имат стойности AS_NEEDED, ВИНАГИ или НИКОГА. Освен това има два допълнителни огледа:

  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 (String key, Component) - Задава ъгъла на панела за превъртане за посочения компонент в параметъра. Параметърът на стринг ключа е заедно със следното:
    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. Звездни модели в Java
  4. Докато Loop в Java
  5. JPanel на Java | Как да създадете панел?
  6. Примери за JFrame в Java
  7. JLabel на Java
  8. Разход на потоци в Java
  9. 3 различни вида масиви в PHP (примери)
  10. Ръководство за програма на JTable в Java