Prehľad JScrollPane v Jave

JScrollPane sa používa na poskytnutie posúvateľného pohľadu na váš komponent. Ak je veľkosť obrazovky malá alebo obmedzená, môžeme pomocou posúvacieho panela predstaviť veľkú súčasť alebo komponent, ktorého veľkosť sa dynamicky mení. Komponent by mal byť ľahký ako obrázok, tabuľka, text, textarea atď. Komponent JScrollPane by mal byť vo vnútri kontajnera ako JFrame alebo JPanel. Je to dôležitá súčasť grafického programovania, najmä vaša potreba spracovať a zobraziť veľké množstvo údajov. V tejto téme sa dozvieme viac o JScrollPane v Jave. Ak máme obmedzenú veľkosť obrazovky, musíme použiť posúvaciu tablu pre nasledujúce dve podmienky:

  1. Zobrazenie veľkého komponentu.
  2. Na zobrazenie dynamicky zmeniteľnej súčasti.

Trieda JScrollPane je kombináciou výrezov a posúvačov. Spojí náš výrez s posuvným panelom. Vzhľady našich posuvných pruhov môžeme ovládať pomocou vlastností politiky zobrazenia posuvného pruhu: verticalScrollbarPolicy a horizontalScrollbarPolicy.

Obe tieto vlastnosti môžu mať hodnoty AS_NEEDED, VŽDY alebo NIKDY. Má tiež dva ďalšie výrezy:

  1. rowHeading - Používa sa na vodorovné posúvanie
  2. columnHeading - Používa sa na vertikálne posúvanie

konštruktéri

Jediným účelom konštruktora tejto triedy je vytvoriť posúvaciu tablu. Ich rozmery sú oslabené vstupnými hodnotami týchto konštruktorov, tj parametrami. Konštruktory triedy JscrollPane sú dvoch typov Parametrizované a Neparametrizované, ďalej sa klasifikujú takto:

1. JScrollPane () - Vytvorí prázdnu posúvaciu tablu (bez viewPort). V prípade potreby môže mať zvislé aj vodorovné posuvné lišty.

Príklad:

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

Výkon:

2. JscrollPane (Komponent c) - Vytvorí posúvacie okno so zadaným komponentom. Ak je obsah komponentu väčší ako pohľad, zobrazí sa vodorovná a zvislá posuvná lišta.

Príklad:

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

Výkon:

3. JScrollPane (int vsPolicy, int hsPolicy) - Vytvorí posúvacie okno so zadanými pravidlami posúvania.

Príklad:

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

Výkon:

4. JScrollPane (Komponent c, int vsPolicy, int hsPolicy) - Vytvorí posúvacie okno so zadaným komponentom. Pozícia komponentu sa ovláda dvojicou posúvačov.

Príklad:

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

Výkon:

Metódy v triede JscrollPane

  1. setColumnHeaderView (Component) - Nastavuje hlavičku stĺpca pre posuvnú tablu určeného komponentu v parametroch.
  2. setRowHeaderView (Component) - Nastavuje hlavičku riadku pre posuvnú tablu určeného komponentu v parametroch.
  3. setCorner (String key, Component) - Nastavuje roh posúvacieho panela pre zadaný komponent v parametri. Parameter kľúča reťazca je spolu s nasledujúcim:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPane.LOWER_LEADING_CORNER, JScrollPane.LOWER_TRAILING_CORNER, JScrollPane.UPPER_LEADING_CORNER, JScrollPane.UPPER_TRAILING_CORNER
  4. getCorner (Component) - Získa roh rolovacieho panela pre zadaný komponent v parametri.

Príklady JScrollPane v Jave

Tu je niekoľko príkladov uvedených nižšie

1. Príklad programu pre 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);
)
)

Výkon:

2. Príklad tabuľky JTcr s 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);
)
)
)

Výkon:

záver

Ak je veľkosť obrazovky obmedzená, na zobrazenie veľkých komponentov alebo komponentov, ktorých veľkosť sa môže dynamicky meniť, musíme použiť posúvaciu tablu.

Odporúčané články

Toto je sprievodca JScrollPane v Jave. Tu diskutujeme konštruktor, metódy a príklady JScrollPane v Jave. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. 2D polia v Jave
  2. Polia v JavaScripte
  3. Hviezdne vzory v Jave
  4. Kým v slučke Java
  5. JPanel v Jave Ako vytvoriť panel?
  6. Príklady JFrame v Jave
  7. JLabel v Jave
  8. Flowlayout v Jave
  9. 3 rôzne typy polí v PHP (príklady)
  10. Sprievodca programom JTable v Jave

Kategórie: