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:
- Nagy összetevő megjelenítéséhez.
- 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:
- rowHeading - vízszintes görgetésre szolgál
- 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
- setColumnHeaderView (Component) - Beállítja az oszlop fejlécét a paraméterekben megadott összetevő görgetési ablaktáblájához.
- setRowHeaderView (Component) - Beállítja a paraméterekben a megadott összetevő görgetési ablaktáblájának fejlécét.
- 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 - 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 -
- 2D tömbök Java-ban
- Tömbök a JavaScript-ben
- Csillagminták Java-ban
- Míg a Loop Java
- JPanel Java | Hogyan hozzunk létre panelt?
- Példák JFrame-re Java-ban
- JLabel Java
- Flowlayout Java
- 3 különféle tömbtípus a PHP-ben (példák)
- Útmutató a JTable programjához Java-ban