Přehled JScrollPane v Javě

JScrollPane se používá k zobrazení posouvatelné komponenty. Pokud je velikost obrazovky malá nebo omezená, můžeme pomocí posuvníku zobrazit velkou komponentu nebo komponentu, jejíž velikost se dynamicky mění. Komponenta by měla být lehká jako obrázek, tabulka, text, textarea atd. Komponenta JScrollPane by měla být uvnitř kontejneru jako JFrame nebo JPanel. Je to důležitá součást grafického programování, zejména vaše potřeba zpracovat a zobrazit velké množství dat. V tomto tématu se dozvíme o JScrollPane v Javě. Pokud máme omezenou velikost obrazovky, musíme použít posuvník pro následující dvě podmínky:

  1. Zobrazení velké komponenty.
  2. Pro zobrazení dynamicky proměnlivé komponenty.

Třída JScrollPane je kombinací výřezů a posuvníků. Spojí náš výřez s posuvníkem. Vzhledy našich posuvných panelů můžeme ovládat pomocí vlastností zásad zobrazení posuvníku: verticalScrollbarPolicy a horizontalScrollbarPolicy.

Obě tyto vlastnosti mohou mít hodnoty AS_NEEDED, VŽDY nebo NIKDY. Má také dva další výřezy:

  1. rowHeading - Používá se k vodorovnému posouvání
  2. columnHeading - Slouží k vertikálnímu posouvání

Konstruktory

Jediným účelem konstruktoru této třídy je vytvoření posuvníku. Jejich rozměry jsou ovlivněny vstupními hodnotami těchto konstruktérů, tj. Parametry. Konstruktory třídy JscrollPane jsou dvou typů Parametrizované a Neparametrizované, dále jsou klasifikovány takto:

1. JScrollPane () - Vytvoří prázdný posuvný panel (bez pohledu). V případě potřeby může mít svislé i vodorovné posuvníky.

Pří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ýstup:

2. JscrollPane (komponenta c) - Vytvoří posuvné podokno s určenou součástí. Pokud je obsah komponenty větší než zobrazení, objeví se vodorovný a svislý posuvník.

Pří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ýstup:

3. JScrollPane (int vsPolicy, int hsPolicy) - Vytvoří rolovací podokno se zadanými rolovacími pravidly .

Pří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ýstup:

4. JScrollPane (komponenta c, int vsPolicy, int hsPolicy) - Vytvoří posuvné podokno se zadanou komponentou. Pozice komponenty je řízena dvojicí posuvníků.

Pří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ýstup:

Metody ve třídě JscrollPane

  1. setColumnHeaderView (Component) - Nastavuje záhlaví sloupce pro posuvný panel zadané komponenty v parametrech.
  2. setRowHeaderView (Component) - Nastavuje záhlaví řádku pro posuvný panel zadané komponenty v parametrech.
  3. setCorner (String key, Component) - Nastavuje roh rolovacího panelu pro zadanou komponentu v parametru. Parametr String key je spolu s následujícím:
    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) - Dostane roh pro posuvník pro zadanou komponentu v parametru.

Příklady JScrollPane v Javě

Zde je několik příkladů uvedených níže

1. Příklad programu pro 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ýstup:

2. Příklad JTable 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ýstup:

Závěr

Pokud je velikost obrazovky omezená, musíme pomocí posuvníku zobrazit velké komponenty nebo komponenty, jejichž velikost se může dynamicky měnit.

Doporučené články

Toto je průvodce JScrollPane v Javě. Zde diskutujeme konstruktor, metody a příklady JScrollPane v Javě. Další informace naleznete také v následujících článcích -

  1. 2D pole v Javě
  2. Pole v JavaScriptu
  3. Hvězdné vzory v Javě
  4. Zatímco smyčka v Javě
  5. JPanel v Javě | Jak vytvořit panel?
  6. Příklady JFrame v Javě
  7. JLabel v Javě
  8. Flowlayout v Javě
  9. 3 různé typy polí v PHP (příklady)
  10. Průvodce programem JTable v Javě

Kategorie: