Avatar billede evilfish Nybegynder
17. juni 2006 - 21:29 Der er 2 kommentarer og
1 løsning

Scrollbar til JPanel

Hej eksperter

Da jeg ikke ved så meget om scrollbar i java, ville jeg lige stille et par spørgsmål som i måske kan give svar på.

Jeg har en liste med et X antal JLabels.
Disse JLabels vises i et andet JPanel.
Det er i dette JPanel jeg skal have en scrollbar (vertical)

Jeg skal kun vise 7-8 stykker af gangen, da der ikke er plads til flere JLabels af gangen.

Nogen der kan forklare med ord eller kode eksempler på hvordan dette kan laves?
Avatar billede _carsten Nybegynder
17. juni 2006 - 22:10 #1
Du putter dit JPanel i et JScrollPane


Eksempel:


public class NewJFrame2 extends javax.swing.JFrame {
   

    public NewJFrame2() {
        initComponents();
        setSize(200,100);
    }
   
                       
    private void initComponents() {
        jScrollPane1 = new javax.swing.JScrollPane();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jPanel1.setLayout(new java.awt.GridLayout(10, 1));

        jLabel1.setText("jLabel1");
        jPanel1.add(jLabel1);

        jLabel2.setText("jLabel2");
        jPanel1.add(jLabel2);

        jLabel3.setText("jLabel3");
        jPanel1.add(jLabel3);

        jLabel4.setText("jLabel4");
        jPanel1.add(jLabel4);

        jLabel5.setText("jLabel5");
        jPanel1.add(jLabel5);

        jLabel6.setText("jLabel6");
        jPanel1.add(jLabel6);

        jLabel7.setText("jLabel7");
        jPanel1.add(jLabel7);

        jLabel8.setText("jLabel8");
        jPanel1.add(jLabel8);

        jLabel9.setText("jLabel9");
        jPanel1.add(jLabel9);

        jLabel10.setText("jLabel10");
        jPanel1.add(jLabel10);

        jScrollPane1.setViewportView(jPanel1);

        getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);

        pack();
    }                     

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame2().setVisible(true);
            }
        });
    }
   
                   
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
}
Avatar billede evilfish Nybegynder
17. juni 2006 - 22:29 #2
SKide god kommentar Carsten - Den er kanon. Tak for det
Avatar billede _carsten Nybegynder
17. juni 2006 - 22:31 #3
:)

Så lægger jeg et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester