El administrador de diseño utilizado por JScrollPane. JScrollPaneLayout se basa en nueve componentes: una ventana gráfica, dos barras de desplazamiento, un encabezado de fila, un encabezado de columna y cuatro componentes de «esquina».
Constructor de la clase:
- ScrollPaneLayout(): Se utiliza para construir un nuevo ScrollPaneLayout.
Métodos comúnmente utilizados:
- removeLayoutComponent(Component comp): elimina el componente especificado del diseño.
- getColumnHeader(): Devuelve el objeto JViewport que es el encabezado de la columna.
- getVerticalScrollBar(): Devuelve el objeto JScrollBar que maneja el desplazamiento vertical.
- getHorizontalScrollBar(): Devuelve el objeto JScrollBar que maneja el desplazamiento horizontal.
- addLayoutComponent(String st, Component c): agrega el componente especificado al diseño.
- getViewport(): Devuelve el objeto JViewport que muestra el contenido desplazable.
- getCorner(String key): Se utiliza para devolver el Componente en la esquina especificada.
Los siguientes programas ilustran el uso de la clase ScrollPaneLayout:
1. El siguiente programa ilustra el uso de ScrollPaneLayout organizando varios componentes JLabel en un JFrame , cuya clase de instancia es » Geeks «. Creamos un componente JScrollPane llamado » panel de desplazamiento » y un componente JList llamado » lista «. Establecemos el tamaño y la visibilidad del marco usando el método setSize() y setVisible() . El diseño se establece mediante el método setLayout() .
Java
// Java Program to illustrate the // ScrollPaneLayout class import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JScrollPane; // create a class Geeks extending JFrame public class Geeks extends JFrame { // Declaration of objects of the // JScrollPane class. JScrollPane scrollpane; // Constructor of Geeks class public Geeks() { // used to call super class // variables and methods super("JScrollPane Demonstration"); // Function to set size of JFrame. setSize(300, 200); // Function to set Default close // operation of JFrame. setDefaultCloseOperation(EXIT_ON_CLOSE); // to contain a string value String categories[] = {"Geeks", "Language", "Java", "Sudo Placement", "Python", "CS Subject", "Operating System", "Data Structure", "Algorithm", "PHP language", "JAVASCRIPT", "C Sharp" }; // Creating Object of "JList" class JList list = new JList(categories); // Creating Object of // "scrollpane" class scrollpane = new JScrollPane(list); // to get content pane getContentPane().add(scrollpane, BorderLayout.CENTER); } // Main Method public static void main(String args[]) { // Creating Object of Geeks class. Geeks sl = new Geeks(); // Function to set visibility of JFrame. sl.setVisible(true); } }
Producción:
2. El siguiente programa ilustra el uso de ScrollPaneLayout organizando varios componentes JLabel en un JFrame , cuya clase de instancia se denomina » ScrollPanel «. Creamos un componente JScrollPane llamado » scrollpane «. Además, se crean JRadioButton y ButtonGroup . Establecemos el tamaño y la visibilidad del marco usando el método setSize() y setVisible() . El diseño se establece mediante el método setLayout() .
Java
// Java Program to illustrate the // ScrollPaneLayout class import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JScrollPane; // create a class ScrollPanel // extending JFrame public class ScrollPanel extends JFrame { // Declaration of objects of the // JScrollPane class JScrollPane scrollpane; // Constructor of ScrollPanel class public ScrollPanel() { // used to call super class // variables and methods super("JScrollPane Demonstration"); // Function to set size of JFrame. setSize(300, 200); // Function to set Default // close operation of JFrame. setDefaultCloseOperation(EXIT_ON_CLOSE); init(); // Function to set // visible of JFrame. setVisible(true); } // class init public void init() { // Declaration of objects // of JRadioButton class. JRadioButton form[][] = new JRadioButton[12][5]; // to contain a string count String counts[] = {"", "1 star", "2 star", "3 star", "4 star", "5 star"}; // to contain a string value String categories[] = {"Geeks", "Language", "Java", "Sudo Placement", "Python", "CS Subject", "Operating System", "Data Structure", "Algorithm", "PHP language", "JAVASCRIPT", "C Sharp" }; // Declaration of objects // of the JPanel class. JPanel p = new JPanel(); // Function to set size of JFrame. p.setSize(600, 400); // Function to set Layout of JFrame. p.setLayout(new GridLayout(13, 6, 10, 0)); // for loop for (int row = 0; row < 13; row++) { // Declaration of objects // of ButtonGroup class ButtonGroup bg = new ButtonGroup(); for (int col = 0; col < 6; col++) { // If condition if (row == 0) { // add new Jlabel p.add(new JLabel(counts[col])); } else { // If condition if (col == 0) { // add new Jlabel p.add(new JLabel(categories[row - 1])); } else { form[row - 1][col - 1] = new JRadioButton(); // add form in ButtonGroup bg.add(form[row - 1][col - 1]); // add form in JFrame p.add(form[row - 1][col - 1]); } } } } // Declaration of objects // of scrollpane class. scrollpane = new JScrollPane(p); // to get content pane getContentPane().add(scrollpane, BorderLayout.CENTER); } // Main Method public static void main(String args[]) { new ScrollPanel(); } }
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/7/docs/api/javax/swing/ScrollPaneLayout.html
Publicación traducida automáticamente
Artículo escrito por Shivi_Aggarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA