Übersicht über JScrollPane in Java

Mit JScrollPane können Sie Ihrer Komponente eine scrollbare Ansicht geben. Wenn die Bildschirmgröße klein oder begrenzt ist, können Sie mithilfe eines Bildlauffensters eine große Komponente oder eine Komponente anzeigen, deren Größe sich dynamisch ändert. Die Komponente sollte kompakt sein, z. B. Bild, Tabelle, Text, Textbereich usw. Die JScrollPane-Komponente sollte sich wie JFrame oder JPanel im Container befinden. Dies ist eine wichtige Komponente in der grafischen Programmierung, insbesondere wenn Sie eine große Datenmenge verarbeiten und anzeigen müssen. In diesem Thema lernen wir JScrollPane in Java kennen. Wenn die Bildschirmgröße begrenzt ist, müssen Sie das Bildlauffenster für die folgenden beiden Bedingungen verwenden:

  1. Anzeige eines großen Bauteils.
  2. Anzeige einer dynamisch größenänderbaren Komponente.

Die JScrollPane-Klasse ist eine Kombination aus Ansichtsfenstern und Bildlaufleisten. Es wird unser Ansichtsfenster mit der Bildlaufleiste verbinden. Wir können die Darstellung unserer Bildlaufleisten mithilfe der Eigenschaften der Bildlaufleisten-Anzeigerichtlinie steuern: verticalScrollbarPolicy und horizontalScrollbarPolicy.

Beide Eigenschaften können die Werte AS_NEEDED, IMMER oder NIE haben. Es hat auch zwei zusätzliche Ansichtsfenster:

  1. rowHeading - Zum horizontalen Scrollen
  2. columnHeading - Zum vertikalen Scrollen

Konstruktoren

Der einzige Zweck des Konstruktors dieser Klasse ist das Erstellen eines Bildlauffensters. Die Dimensionen davon werden durch die Eingabewerte für diese Konstruktoren, dh Parameter, untergraben. Konstruktoren der JscrollPane-Klasse sind in zwei Typen unterteilt: "Parametrisiert" und "Nicht parametrisiert".

1. JScrollPane () - Erstellt ein leeres Bildlauffenster (kein viewPort). Es kann bei Bedarf sowohl vertikale als auch horizontale Bildlaufleisten haben.

Beispiel:

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

Ausgabe:

2. JscrollPane (Komponente c) - Erstellt ein Bildlauffenster mit der angegebenen Komponente. Wenn der Komponenteninhalt größer als die Ansicht ist, werden horizontale und vertikale Bildlaufleisten angezeigt.

Beispiel:

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

Ausgabe:

3. JScrollPane (int vsPolicy, int hsPolicy) - Erstellt ein Bildlauffenster mit den angegebenen Bildlaufrichtlinien .

Beispiel:

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

Ausgabe:

4. JScrollPane (Component c, int vsPolicy, int hsPolicy) - Erstellt ein Bildlauffenster mit der angegebenen Komponente. Die Komponentenposition wird mit zwei Bildlaufleisten gesteuert.

Beispiel:

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

Ausgabe:

Methoden in der JscrollPane-Klasse

  1. setColumnHeaderView (Component) - Legt die Spaltenüberschrift für den Bildlaufbereich der angegebenen Komponente in den Parametern fest.
  2. setRowHeaderView (Component) - Legt den Zeilenkopf für den Bildlaufbereich der angegebenen Komponente in den Parametern fest.
  3. setCorner (String key, Component) - Legt die Ecke des Bildlauffensters für die angegebene Komponente im Parameter fest. Der Parameter für den Zeichenfolgenschlüssel enthält Folgendes:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPane
  4. getCorner (Component) - Ruft die Ecke des Bildlauffensters für die angegebene Komponente im Parameter ab.

Beispiele für JScrollPane in Java

Hier sind einige der unten angegebenen Beispiele

1. Beispielprogramm für 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);
)
)

Ausgabe:

2. Beispiel für JTable mit 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);
)
)
)

Ausgabe:

Fazit

Wenn die Bildschirmgröße begrenzt ist, müssen Sie ein Bildlauffenster verwenden, um große Komponenten oder Komponenten anzuzeigen, deren Größe sich dynamisch ändern kann.

Empfohlene Artikel

Dies ist eine Anleitung zu JScrollPane in Java. Hier diskutieren wir den Konstruktor, die Methoden und Beispiele von JScrollPane in Java. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. 2D-Arrays in Java
  2. Arrays in JavaScript
  3. Sternchenmuster in Java
  4. While-Schleife in Java
  5. JPanel in Java | Wie erstelle ich ein Panel?
  6. Beispiele für JFrame in Java
  7. JLabel in Java
  8. Flowlayout in Java
  9. 3 verschiedene Arten von Arrays in PHP (Beispiele)
  10. Anleitung zum Programm von JTable in Java