Oscilación de Java | Clase ScrollPaneLayout

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: 

  1. removeLayoutComponent(Component comp): elimina el componente especificado del diseño.
  2. getColumnHeader(): Devuelve el objeto JViewport que es el encabezado de la columna.
  3. getVerticalScrollBar(): Devuelve el objeto JScrollBar que maneja el desplazamiento vertical.
  4. getHorizontalScrollBar(): Devuelve el objeto JScrollBar que maneja el desplazamiento horizontal.
  5. addLayoutComponent(String st, Component c): agrega el componente especificado al diseño.
  6. getViewport(): Devuelve el objeto JViewport que muestra el contenido desplazable.
  7. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *