Oversikt over JScrollPane i Java

JScrollPane brukes til å gi en rullbar oversikt over komponenten din. Når skjermstørrelsen er liten eller begrenset, kan vi bruke en rullerute til å vise frem en stor komponent eller en komponent hvis størrelse endres dynamisk. Komponenten skal være lett som bilde, tabell, tekst, tekstområde osv. JScrollPane-komponenten skal være inne i beholderen som JFrame eller JPanel. Det er en viktig komponent i grafisk programmering, spesielt behovet ditt for å håndtere og vise en stor datamengde. I dette emnet skal vi lære om JScrollPane i Java. Når vi har begrenset skjermstørrelse, må vi bruke rullefeltet under følgende to forhold:

  1. For å vise en stor komponent.
  2. For å vise en dynamisk størrelse som kan byttes.

JScrollPane-klassen er en kombinasjon av visningsporter og rullefelt. Det vil koble visningsområdet vårt med rullefeltet. Vi kan kontrollere utseendet til rullefeltene ved å bruke retningslinjene for rullefeltets visningspolitikk: verticalScrollbarPolicy og horizontalScrollbarPolicy.

Begge disse egenskapene kan ha verdier AS_NEEDED, ALLTID eller ALDRI. Den har også to tilleggsutsikter:

  1. rowHeading - Brukes til å bla horisontalt
  2. columnHeading - Brukes til å bla loddrett

Constructors

Eneste hensikten med konstruktøren av denne klassen er å lage en rullerute. Dimensjonene på den undergraves av inngangsverdiene til disse konstruktørene, dvs. parametere. Konstruktører av JscrollPane-klassen er av to typer Parameteriserte og Ikke-Parameteriserte, de er videre klassifisert som nedenfor:

1. JScrollPane () - Oppretter en tom rullerute (ingen viewPort). Den kan ha både vertikale og horisontale rullefelt ved behov.

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

Produksjon:

2. JscrollPane (Komponent c) - Oppretter en rullerute med den angitte komponenten. Når komponentinnholdet er større enn visningen, vises horisontal og vertikal rullefelt.

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

Produksjon:

3. JScrollPane (int vsPolicy, int hsPolicy) - Oppretter en rullerute med de spesifiserte rullepolicyene .

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

Produksjon:

4. JScrollPane (komponent c, int vsPolicy, int hsPolicy) - Oppretter en rullerute med den spesifiserte komponenten. Komponentposisjonen styres med et par rullefelt.

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

Produksjon:

Metoder i JscrollPane Class

  1. setColumnHeaderView (Component) - Den angir kolonneoverskriften for rullefeltet til den spesifiserte komponenten i parametrene.
  2. setRowHeaderView (komponent) - Den angir radoverskriften for rullefeltet til den spesifiserte komponenten i parameterne.
  3. setCorner (String-tast, komponent) - Den setter hjørnet for rullefeltet for den spesifiserte komponenten i parameteren. Parameter for strengnøkkel 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.LOWERPAN.LOWER_RAN
  4. getCorner (Component) - Det får hjørnet for rullefeltet for den spesifiserte komponenten i parameteren.

Eksempler på JScrollPane i Java

Her er noen av eksemplene gitt nedenfor

1. Eksempel på program for 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);
)
)

Produksjon:

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

Produksjon:

Konklusjon

Når skjermstørrelsen er begrenset, må vi bruke en rullerute for å vise store komponenter eller komponenter hvis størrelse kan endres dynamisk.

Anbefalte artikler

Dette er en guide til JScrollPane i Java. Her diskuterer vi konstruktøren, metodene og eksemplene på JScrollPane i Java. Du kan også se på følgende artikler for å lære mer -

  1. 2D Arrays i Java
  2. Arrays i JavaScript
  3. Stjernemønstre i Java
  4. Mens Loop i Java
  5. JPanel i Java | Hvordan lage panel?
  6. Eksempler på JFrame i Java
  7. JLabel i Java
  8. Flowlayout i Java
  9. 3 forskjellige typer matriser i PHP (eksempler)
  10. Guide to Program of JTable in Java