Swing: Ajouter une barre de défilement dans une fenêtre

Author:

 list, list, set, java, swing, awt, JPanel, JFrame
Download

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class JFrameScroll extends JPanel
{
 
    JLabel label;
 
    public JFrameScroll( )
   {
        super(true);
        label=new JLabel( );
        setLayout(new BorderLayout( ));
 
        // Créer les barres de défilements horizontale et verticale
        JScrollBar bar_h=new JScrollBar(JScrollBar.HORIZONTAL, 30, 20, 0, 300);
        JScrollBar bar_v=new JScrollBar(JScrollBar.VERTICAL, 30, 40, 0, 300);
 
        // Définir l'unité et le bloque d'incrémentation
        bar_h.setUnitIncrement(2);
        bar_h.setBlockIncrement(1);
 
       // Evénement sur l'ajustement des barres
        bar_h.addAdjustmentListener(new DefilementEvents( ));
        bar_v.addAdjustmentListener(new DefilementEvents( ));
 
        // Intégrer les barres horizontale et verticale
        add(bar_h, BorderLayout.SOUTH);
        add(bar_v, BorderLayout.EAST);
 
        // Ajouter le label
        add(label, BorderLayout.CENTER);
    }
 
    class DefilementEvents implements AdjustmentListener
       {
        public void adjustmentValueChanged(AdjustmentEvent e)
        {
           label.setText("La nouvelle valeur de la barre: " + e.getValue( ) + "      "+e.getSource());
           repaint( );
        }
    }
 
    public static void main(String s[]) {
         JFrame frame = new JFrame("Exemple d'Ascenseur ou barre de défilement");
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.setContentPane(new JFrameScroll( ));
         frame.setSize(200,200);
         frame.setVisible(true);
    }
}