Prezentare generală a JScrollPane în Java

JScrollPane este utilizat pentru a oferi o vizualizare defilabilă componentei tale. Când dimensiunea ecranului este mică sau limitată, putem folosi un panou de derulare pentru a prezenta o componentă mare sau o componentă a cărei dimensiune se schimbă dinamic. Componenta ar trebui să fie ușoară precum imagine, tabel, text, textarea, etc. Componenta JScrollPane ar trebui să fie în interiorul containerului precum JFrame sau JPanel. Este o componentă importantă în programarea grafică, în special nevoia dvs. de a gestiona și afișa o cantitate mare de date. În acest subiect, vom afla despre JScrollPane în Java. Când avem dimensiunea limitată a ecranului, atunci trebuie să utilizăm panoul de defilare pentru următoarele două condiții:

  1. Pentru a afișa o componentă mare.
  2. Pentru a afișa o componentă dinamică care poate fi modificată.

Clasa JScrollPane este o combinație de vizualizări și bare de defilare. Ne va conecta portofoliul cu bara de defilare. Ne putem controla aparițiile barelor de defilare folosind proprietățile politicii de afișare a barelor de defilare: verticalScrollbarPolicy și horizontalScrollbarPolicy.

Ambele proprietăți pot avea valori AS_NEEDED, SEMPRE sau NICIODATĂ. De asemenea, are două vizionări suplimentare:

  1. rowHeading - Folosit pentru a derula pe orizontală
  2. columnHeading - Folosit pentru a derula vertical

constructorilor

Scopul unic al constructorului acestei clase este crearea unui panou de defilare. Dimensiunile acestuia sunt subminate de valorile de intrare pentru acești constructori, adică parametrii. Constructorii clasei JscrollPane sunt de două tipuri Parameterized și Non Parameterized, ele sunt clasificate în continuare:

1. JScrollPane () - Creează un panou de defilare gol (fără viewPort). Poate avea bare de defilare atât verticale cât și orizontale atunci când este nevoie.

Exemplu:

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

ieşire:

2. JscrollPane (Componenta c) - Creează un panou de defilare cu componenta specificată. Când conținutul componentei este mai mare decât vizualizarea, atunci apare bara de defilare orizontală și verticală.

Exemplu:

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

ieşire:

3. JScrollPane (int vsPolicy, int hsPolicy) - Creează un panou de defilare cu politicile de defilare specificate.

Exemplu:

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

ieşire:

4. JScrollPane (Componenta c, int vsPolicy, int hsPolicy) - Creează un panou de defilare cu componenta specificată. Poziția componentei este controlată cu o pereche de bare de defilare.

Exemplu:

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

ieşire:

Metode din clasa JscrollPane

  1. setColumnHeaderView (Component) - Setează antetul coloanei pentru panoul de defilare al componentei specificate în parametri.
  2. setRowHeaderView (Component) - Setează antetul rândului pentru panoul de defilare al componentei specificate în parametri.
  3. setCorner (Tasta String, Component) - Setează colțul panoul de defilare pentru componenta specificată din parametru. Parametrul cu cheie de caractere este împreună cu următorul:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPane.LOWER_LEADING_CORNER, JScrollPane.LORERER.LORER
  4. getCorner (Component) - Obține colțul panoul de defilare pentru componenta specificată din parametru.

Exemple de JScrollPane în Java

Iată câteva dintre Exemplele date mai jos

1. Exemplu de program pentru 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);
)
)

ieşire:

2. Exemplu de tabel JT cu 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);
)
)
)

ieşire:

Concluzie

Când dimensiunea ecranului este limitată, trebuie să utilizăm un panou de derulare pentru a afișa componente mari sau componente a căror dimensiune se poate schimba dinamic.

Articole recomandate

Acesta este un ghid pentru JScrollPane în Java. Aici vom discuta despre constructor, metode și exemple de JScrollPane în Java. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Arhiere 2D în Java
  2. Schițe în JavaScript
  3. Modele de stele în Java
  4. În timp ce Buclă în Java
  5. JPanel în Java | Cum se creează un panou?
  6. Exemple de JFrame în Java
  7. JLabel în Java
  8. Flowlayout în Java
  9. 3 tipuri diferite de Array-uri în PHP (Exemple)
  10. Ghid pentru programul JTable în Java