Oversigt over JScrollPane i Java

JScrollPane bruges til at give en rullende oversigt over din komponent. Når skærmstørrelsen er lille eller begrænset, kan vi bruge en rullerude til at vise en stor komponent eller en komponent, hvis størrelse ændres dynamisk. Komponenten skal være let som billede, tabel, tekst, tekstområde osv. JScrollPane-komponenten skal være inde i containeren som JFrame eller JPanel. Det er en vigtig komponent i grafisk programmering, især dit behov for at håndtere og vise en stor mængde data. I dette emne skal vi lære om JScrollPane i Java. Når vi har begrænset skærmstørrelse, er vi nødt til at bruge rullepanel til følgende to betingelser:

  1. Sådan vises en stor komponent.
  2. Sådan vises en komponent, der kan skiftes i dynamisk størrelse.

JScrollPane-klassen er en kombination af viewports og rullepaneler. Det forbinder vores visningsport med rullebjælken. Vi kan kontrollere vores rullebjælkens optrædener ved hjælp af rullebjælkens visningspolitiske egenskaber: verticalScrollbarPolicy og horizontalScrollbarPolicy.

Begge disse egenskaber kan have værdier AS_NEEDED, ALLTID eller ALDRIG. Det har også to yderligere udsigtsporter:

  1. rowHeading - Bruges til at rulle vandret
  2. columnHeading - Bruges til at rulle lodret

Constructors

Eneste formål med konstruktøren af ​​denne klasse er at oprette en rullerude. Dimensionerne på det undermineres af inputværdierne til disse konstruktører dvs. parametre. Konstruktører af JscrollPane-klassen er af to typer Parameteriserede og Ikke-Parameteriserede, de er yderligere klassificeret som nedenfor:

1. JScrollPane () - Opretter en tom rude (ingen viewPort). Det kan have både lodrette og vandrette rullepaneler, når det er nødvendigt.

Eksempel:

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

Produktion:

2. JscrollPane (Komponent c) - Opretter et rude med den specificerede komponent. Når komponentindholdet er større end visningen, vises der vandret og lodret rullepanel.

Eksempel:

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

Produktion:

3. JScrollPane (int vsPolicy, int hsPolicy) - Opretter en rullerude med de specificerede rullepolitikker .

Eksempel:

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

Produktion:

4. JScrollPane (komponent c, int vsPolicy, int hsPolicy) - Opretter et rude med den specificerede komponent. Komponentpositionen styres med et par rullepaneler.

Eksempel:

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

Produktion:

Metoder i JscrollPane Class

  1. setColumnHeaderView (komponent) - Det indstiller kolonneoverskriften for rulleruden for den specificerede komponent i parametrene.
  2. setRowHeaderView (komponent) - Det indstiller rækkeoverskriften for rulleruden for den specificerede komponent i parametrene.
  3. setCorner (String-tast, komponent) - Det indstiller hjørnet for rullepanelet for den specificerede komponent i parameteren. Parameter til strengnøgle er sammen med følgende:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPane.LOWER_LEADING_CORNER, JScrollPane.LOWERPane.LOWER_RAN
  4. getCorner (komponent) - Det får hjørnet for rullepanelet for den specificerede komponent i parameteren.

Eksempler på JScrollPane i Java

Her er nogle af eksemplerne givet nedenfor

1. Eksempel Program til 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);
)
)

Produktion:

2. Eksempel på JTable med 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);
)
)
)

Produktion:

Konklusion

Når skærmstørrelsen er begrænset, er vi nødt til at bruge en rullerude til at vise store komponenter eller komponenter, hvis størrelse kan ændre sig dynamisk.

Anbefalede artikler

Dette er en guide til JScrollPane i Java. Her diskuterer vi konstruktøren, metoder og eksempler på JScrollPane i Java. Du kan også se på de følgende artikler for at lære mere -

  1. 2D-arrays i Java
  2. Arrays i JavaScript
  3. Stjernemønstre i Java
  4. Mens Loop i Java
  5. JPanel i Java | Sådan opretter du panel?
  6. Eksempler på JFrame i Java
  7. JLabel i Java
  8. Flowlayout i Java
  9. 3 forskellige typer arrays i PHP (eksempler)
  10. Vejledning til program for JTable i Java

Kategori: