Overzicht van JScrollPane in Java

JScrollPane wordt gebruikt om uw component een schuifbaar overzicht te geven. Wanneer de schermgrootte klein of beperkt is, kunnen we een schuifvenster gebruiken om een ​​groot component of een component te tonen waarvan de grootte dynamisch verandert. De component moet licht zijn, zoals afbeelding, tabel, tekst, tekstgebied, enz. JScrollPane-component moet zich in de container bevinden zoals JFrame of JPanel. Het is een belangrijk onderdeel in grafisch programmeren, vooral uw behoefte om een ​​grote hoeveelheid gegevens te verwerken en weer te geven. In dit onderwerp gaan we meer te weten komen over JScrollPane in Java. Als we een beperkte schermgrootte hebben, moeten we het schuifvenster gebruiken voor de volgende twee voorwaarden:

  1. Om een ​​groot component weer te geven.
  2. Om een ​​dynamisch veranderlijk component weer te geven.

De klasse JScrollPane is een combinatie van viewports en schuifbalken. Het verbindt ons kijkvenster met de schuifbalk. We kunnen het uiterlijk van onze schuifbalken regelen met behulp van de eigenschappen van het weergavebeleid van de schuifbalk: verticalScrollbarPolicy en horizontalScrollbarPolicy.

Beide eigenschappen kunnen waarden AS_NEEDED, ALTIJD of NOOIT hebben. Het heeft ook twee extra viewports:

  1. rowHeading - Wordt gebruikt om horizontaal te scrollen
  2. columnHeading - Wordt gebruikt om verticaal te scrollen

constructors

Het enige doel van de constructor van deze klasse is om een ​​schuifvenster te maken. De dimensies ervan worden ondermijnd door de invoerwaarden voor deze constructors, dwz parameters. Constructeurs van de JscrollPane-klasse zijn van twee types met parameters en zonder parameters, ze worden verder als volgt geclassificeerd:

1. JScrollPane () - Maakt een leeg schuifvenster (geen viewPort). Het kan zowel verticale als horizontale schuifbalken hebben als dat nodig is.

Voorbeeld:

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

Output:

2. JscrollPane (component c) - Maakt een schuifvenster met de opgegeven component. Als de inhoud van het onderdeel groter is dan de weergave, verschijnt er een horizontale en verticale schuifbalk.

Voorbeeld:

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

Output:

3. JScrollPane (int vsPolicy, int hsPolicy) - Maakt een schuifvenster met het opgegeven schuifbeleid.

Voorbeeld:

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

Output:

4. JScrollPane (Component c, int vsPolicy, int hsPolicy) - Maakt een schuifvenster met de opgegeven component. De componentpositie wordt bestuurd met een paar schuifbalken.

Voorbeeld:

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

Output:

Methoden in JscrollPane Class

  1. setColumnHeaderView (component) - Hiermee wordt de kolomkop ingesteld voor het schuifvenster van de opgegeven component in de parameters.
  2. setRowHeaderView (component) - Hiermee wordt de rijkop ingesteld voor het schuifvenster van de opgegeven component in de parameters.
  3. setCorner (String-toets, component) - Hiermee wordt de hoek ingesteld voor het schuifvenster voor de opgegeven component in de parameter. String key parameter komt samen met het volgende:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPLE.LOWER_LEADING_CORNER.LANGER_CORNERLANGER
  4. getCorner (component): hiermee wordt de hoek opgehaald voor het schuifvenster voor de opgegeven component in de parameter.

Voorbeelden van JScrollPane in Java

Hier zijn enkele van de onderstaande voorbeelden

1. Voorbeeldprogramma voor 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);
)
)

Output:

2. Voorbeeld van JTable met 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);
)
)
)

Output:

Conclusie

Wanneer de schermgrootte beperkt is, moeten we een schuifvenster gebruiken om grote componenten weer te geven of componenten waarvan de grootte dynamisch kan veranderen.

Aanbevolen artikelen

Dit is een handleiding voor JScrollPane in Java. Hier bespreken we de constructor, methoden en voorbeelden van JScrollPane in Java. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. 2D-arrays in Java
  2. Arrays in JavaScript
  3. Sterpatronen in Java
  4. Terwijl Loop in Java
  5. JPanel in Java | Hoe een paneel te maken?
  6. Voorbeelden van JFrame in Java
  7. JLabel in Java
  8. Stroomschema in Java
  9. 3 verschillende soorten arrays in PHP (voorbeelden)
  10. Handleiding voor het programma van JTable in Java