Översikt över JScrollPane i Java

JScrollPane används för att ge en rullningsbar vy till din komponent. När skärmstorleken är liten eller begränsad kan vi använda en rullningsfönster för att visa upp en stor komponent eller en komponent vars storlek ändras dynamiskt. Komponenten ska vara lätt som bild, tabell, text, textområden etc. JScrollPane-komponenten ska vara i behållaren som JFrame eller JPanel. Det är en viktig komponent i grafisk programmering, särskilt ditt behov av att hantera och visa en stor mängd data. I det här ämnet kommer vi att lära oss om JScrollPane i Java. När vi har begränsad skärmstorlek måste vi använda rullningsfönstret för följande två villkor:

  1. För att visa en stor komponent.
  2. För att visa en dynamisk storlek som kan bytas ut.

JScrollPane-klassen är en kombination av visningsportar och rullningslister. Det kommer att ansluta vårt visningsområde med rullningsfältet. Vi kan styra våra utseenden på rullningslisterna genom att använda egenskaper för visning av rullningsfält: verticalScrollbarPolicy och horizontalScrollbarPolicy.

Båda dessa egenskaper kan ha värden AS_NEEDED, ALLTID eller ALDRIG. Den har också ytterligare två visningsportar:

  1. rowHeading - Används för att bläddra horisontellt
  2. columnHeading - Används för att bläddra vertikalt

konstruktörer

Det enda syftet med konstruktören i denna klass är att skapa en rullningsruta. Dimensionerna på den undergrävs av ingångsvärdena för dessa konstruktörer, dvs. Konstruktörer i klassen JscrollPane är av två typer av parametriserade och icke-parametrerade, de klassificeras vidare som nedan:

1. JScrollPane () - Skapar ett tomt rullningsfönster (ingen viewPort). Den kan ha både vertikala och horisontella rullningslister vid behov.

Exempel:

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

Produktion:

2. JscrollPane (Komponent c) - Skapar en rullningsfönster med den angivna komponenten. När komponentinnehållet är större än vyn visas horisontella och vertikala rullningsfält.

Exempel:

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

Produktion:

3. JScrollPane (int vsPolicy, int hsPolicy) - Skapar en rullningsfönster med de angivna rullningspolicyn.

Exempel:

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

Produktion:

4. JScrollPane (Komponent c, int vsPolicy, int hsPolicy) - Skapar en rullningsfönster med den angivna komponenten. Komponentpositionen styrs med ett par rullningslister.

Exempel:

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

Produktion:

Metoder i JscrollPane Class

  1. setColumnHeaderView (komponent) - Den ställer in kolumnhuvudet för rullningsfönstret för den angivna komponenten i parametrarna.
  2. setRowHeaderView (komponent) - Det ställer in radhuvudet för rullningsfönstret för den angivna komponenten i parametrarna.
  3. setCorner (Stringnyckel, komponent) - Den ställer in hörnet för rullningsfönstret för den angivna komponenten i parametern. Parameter för strängnyckel är följande:
    JScrollPane.UPPER_LEFT_CORNER, JScrollPane.UPPER_RIGHT_CORNER, JScrollPane.LOWER_LEFT_CORNER, JScrollPane.LOWER_RIGHT_CORNER, JScrollPane.LOWER_LEADING_CORNER, JScrollPane.LOWERPAN.LOWER_RAN
  4. getCorner (komponent) - Det blir hörnet för rullningsfönstret för den angivna komponenten i parametern.

Exempel på JScrollPane i Java

Här är några av de exempel som ges nedan

1. Exempel Program för 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);
)
)

Produktion:

2. Exempel på JTable med 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);
)
)
)

Produktion:

Slutsats

När skärmstorleken är begränsad måste vi använda en rullningsfönster för att visa stora komponenter eller komponenter vars storlek kan ändras dynamiskt.

Rekommenderade artiklar

Detta är en guide till JScrollPane i Java. Här diskuterar vi konstruktören, metoderna och exemplen på JScrollPane i Java. Du kan också titta på följande artiklar för att lära dig mer -

  1. 2D-matriser i Java
  2. Matriser i JavaScript
  3. Stjärnamönster i Java
  4. Medan Loop i Java
  5. JPanel i Java | Hur skapar jag en panel?
  6. Exempel på JFrame i Java
  7. JLabel i Java
  8. Flowlayout i Java
  9. 3 olika typer av matriser i PHP (exempel)
  10. Guide till Program för JTable i Java

Kategori: