Panoramica di JScrollPane in Java

JScrollPane viene utilizzato per fornire una vista scorrevole al componente. Quando le dimensioni dello schermo sono piccole o limitate, possiamo utilizzare un riquadro di scorrimento per mostrare un componente grande o un componente le cui dimensioni cambiano in modo dinamico. Il componente deve essere leggero come immagine, tabella, testo, area di testo, ecc. Il componente JScrollPane deve essere all'interno del contenitore come JFrame o JPanel. È un componente importante nella programmazione grafica, in particolare la necessità di gestire e visualizzare una grande quantità di dati. In questo argomento, impareremo a conoscere JScrollPane in Java. Quando le dimensioni dello schermo sono limitate, è necessario utilizzare il riquadro di scorrimento per le due seguenti condizioni:

  1. Per visualizzare un componente di grandi dimensioni.
  2. Per visualizzare un componente variabile di dimensioni dinamiche.

La classe JScrollPane è una combinazione di finestre e barre di scorrimento. Collegherà il nostro viewport con la barra di scorrimento. È possibile controllare l'aspetto delle barre di scorrimento utilizzando le proprietà dei criteri di visualizzazione della barra di scorrimento: verticalScrollbarPolicy e horizontalScrollbarPolicy.

Entrambe queste proprietà possono avere valori AS_NEEDED, SEMPRE o MAI. Ha anche due viewport aggiuntivi:

  1. rowHeading - Usato per scorrere in orizzontale
  2. columnHeading - Usato per scorrere verticalmente

Costruttori

Il solo scopo del costruttore di questa classe è quello di creare un riquadro di scorrimento. Le sue dimensioni sono minate dai valori di input per questi costruttori, cioè i parametri. I costruttori della classe JscrollPane sono di due tipi Parametrizzati e Non parametrizzati, sono ulteriormente classificati come di seguito:

1. JScrollPane () - Crea un riquadro di scorrimento vuoto (senza viewPort). Può avere barre di scorrimento sia verticali che orizzontali quando necessario.

Esempio:

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);
)
)

Produzione:

2. JscrollPane (Componente c) - Crea un riquadro di scorrimento con il componente specificato. Quando il contenuto del componente è più grande della vista, viene visualizzata la barra di scorrimento orizzontale e verticale.

Esempio:

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);
)
)

Produzione:

3. JScrollPane (int vsPolicy, int hsPolicy) - Crea un riquadro di scorrimento con i criteri di scorrimento specificati.

Esempio:

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);
)
)

Produzione:

4. JScrollPane (Componente c, int vsPolicy, int hsPolicy) - Crea un riquadro di scorrimento con il componente specificato. La posizione del componente è controllata con una coppia di barre di scorrimento.

Esempio:

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);
)
)

Produzione:

Metodi nella classe JscrollPane

  1. setColumnHeaderView (Component): imposta l'intestazione di colonna per il riquadro di scorrimento del componente specificato nei parametri.
  2. setRowHeaderView (Component): imposta l'intestazione di riga per il riquadro di scorrimento del componente specificato nei parametri.
  3. setCorner (Chiave stringa, Componente) - Imposta l'angolo per il riquadro di scorrimento per il componente specificato nel parametro. Il parametro chiave stringa è insieme a quanto segue:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPane.LOWER_LEADING_CORNER, JScrollPaneCOWER_TRA_PER_PER_TRA_PER
  4. getCorner (Componente): ottiene l'angolo per il riquadro di scorrimento per il componente specificato nel parametro.

Esempi di JScrollPane in Java

Ecco alcuni degli esempi riportati di seguito

1. Esempio di programma per 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);
)
)

Produzione:

2. Esempio di JTable con 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);
)
)
)

Produzione:

Conclusione

Quando le dimensioni dello schermo sono limitate, è necessario utilizzare un riquadro di scorrimento per visualizzare componenti di grandi dimensioni o componenti le cui dimensioni possono cambiare in modo dinamico.

Articoli consigliati

Questa è una guida a JScrollPane in Java. Qui discutiamo il costruttore, i metodi e gli esempi di JScrollPane in Java. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Array 2D in Java
  2. Matrici in JavaScript
  3. Motivi a stelle in Java
  4. Mentre Loop in Java
  5. JPanel in Java | Come creare un pannello?
  6. Esempi di JFrame in Java
  7. JLabel in Java
  8. Flowlayout in Java
  9. 3 diversi tipi di array in PHP (esempi)
  10. Guida al programma di JTable in Java

Categoria: