A JScrollPane áttekintése a Java-ban

A JScrollPane gördíthető nézetet ad az összetevő számára. Ha a képernyő mérete kicsi vagy korlátozott, gördítősávot használhatunk egy nagy elem vagy olyan elem bemutatására, amelynek mérete dinamikusan változik. Az összetevőnek könnyűnek kell lennie, mint például kép, táblázat, szöveg, szövegterület stb. A JScrollPane komponensnek a tartályban kell lennie, mint például a JFrame vagy a JPanel. Ez fontos eleme a grafikus programozásnak, különösen akkor, ha nagy mennyiségű adatot kell kezelni és megjeleníteni. Ebben a témában megismerjük a JScrollPane-t Java-ban. Ha korlátozott képernyőmérettel rendelkezik, akkor a következő két feltételhez gördítő ablakot kell használnunk:

  1. Nagy összetevő megjelenítéséhez.
  2. Dinamikusan méretezhető alkatrész megjelenítése.

A JScrollPane osztály a nézetablakok és a görgetősávok kombinációja. Összekapcsolja a nézetablakot a görgetősávval. A görgetősávok megjelenését a görgetősáv megjelenítési házirendjének tulajdonságai segítségével vezérelhetjük: verticalScrollbarPolicy és horizontalScrollbarPolicy.

Mindkét tulajdonság értéke lehet AS_NEEDED, MINDIG, vagy SOHA. Két további nézetablakral rendelkezik:

  1. rowHeading - vízszintes görgetésre szolgál
  2. columnHeading - függőleges görgetésre szolgál

Constructors

Az osztály kivitelezőjének egyedüli célja egy görgetőpanel létrehozása. Ennek méreteit aláássák ezeknek a konstruktoroknak a bemeneti értékei, azaz a paraméterek. A JscrollPane osztály építői kétféle, paraméterezhető és nem paraméterezhetők, ezeket az alábbiak szerint osztályozzák:

1. JScrollPane () - Üres görgető ablakot hoz létre (nincs viewPort). Szükség esetén függőleges és vízszintes görgetősávokkal is rendelkezik.

Példa:

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

Kimenet:

2. JscrollPane (c komponens) - létrehoz egy görgető ablakot a megadott összetevővel. Ha az összetevő tartalma nagyobb, mint a nézet, akkor megjelenik a vízszintes és a függőleges görgetősáv.

Példa:

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

Kimenet:

3. JScrollPane (int vsPolicy, int hsPolicy) - létrehoz egy görgetési ablakot a megadott görgetési házirendekkel.

Példa:

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

Kimenet:

4. JScrollPane (c komponens, int vsPolicy, int hsPolicy) - létrehoz egy görgető ablakot a megadott összetevővel. Az alkatrész helyzetét pár görgetősávval lehet szabályozni.

Példa:

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

Kimenet:

Módszerek a JscrollPane osztályban

  1. setColumnHeaderView (Component) - Beállítja az oszlop fejlécét a paraméterekben megadott összetevő görgetési ablaktáblájához.
  2. setRowHeaderView (Component) - Beállítja a paraméterekben a megadott összetevő görgetési ablaktáblájának fejlécét.
  3. setCorner (karakterlánc gomb, alkatrész) - Beállítja a görgetési ablaktáblát a paraméterben megadott komponenshez. A karakterlánc-paraméter a következőkkel egészül ki:
    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) - Megkapja a paraméterben megadott összetevő görgetési ablaktábláját.

Példák a JScrollPane-re Java-ban

Íme néhány az alábbiakban bemutatott példa

1. Példaprogram a JscrollPane-hez

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

Kimenet:

2. Példa a JTable-re a JScrollPane-lal

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

Kimenet:

Következtetés

Ha a képernyő mérete korlátozott, gördítősávot kell használnunk olyan nagy összetevők vagy összetevők megjelenítéséhez, amelyek mérete dinamikusan megváltozhat.

Ajánlott cikkek

Ez egy útmutató a JScrollPane-hez a Java-ban. Itt a JScrollPane Java kivitelezőjét, módszereit és példáit tárgyaljuk. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. 2D tömbök Java-ban
  2. Tömbök a JavaScript-ben
  3. Csillagminták Java-ban
  4. Míg a Loop Java
  5. JPanel Java | Hogyan hozzunk létre panelt?
  6. Példák JFrame-re Java-ban
  7. JLabel Java
  8. Flowlayout Java
  9. 3 különféle tömbtípus a PHP-ben (példák)
  10. Útmutató a JTable programjához Java-ban

Kategória: