Avatar billede king-at-run Nybegynder
08. juni 2003 - 10:46 Der er 5 kommentarer og
1 løsning

Problemer med styring af Jlist (størrelse)

Hey,

Hvordan bestemmer man størrelsen af et Jlist.. Vi har prøvet scrollpane, men det fungere ikke - Jlisten indeholder informationer. Når vi bruger scrollpane forsvinder den helt fra vores GUI og når vi sætter setPreferredSize på selve Jlisten - så får vi for det første to helt forskellige størrelser på de to Jlist vi har og vi kan kun styre breden på den ene - den anden er helt "lige glad"...

I får lige lidt kode:

liTidligereAnnoncer = new JList(test);
                        spTidligereAnnoncer = new JScrollPane(liTidligereAnnoncer);
                        spTidligereAnnoncer.setPreferredSize(new Dimension(10,10));
                        liUdgivelsesdato = new JList(test);
                        spUdgivelsesdato = new JScrollPane(liUdgivelsesdato);
            spUdgivelsesdato.setPreferredSize(new Dimension(10,10));
Avatar billede _carsten Nybegynder
08. juni 2003 - 11:32 #1
Mangler i nedenstående i jeres kode ???

jScrollPane.setViewportView(liTidligereAnnoncer);
spUdgivelsesdato.setViewportView(liUdgivelsesdato);


Og så er new Dimension(10,10); altså uhyggelig lille, sæt et nul mere på.
etc.: new Dimension(100,100);
Avatar billede king-at-run Nybegynder
08. juni 2003 - 11:41 #2
Det giver ingen forbedring...Jlist viser sig stadig ikke...

Hvad skulle setViewportView gøre...?
Avatar billede _carsten Nybegynder
08. juni 2003 - 12:09 #3
Dynamisk ændring af: liTidligereAnnoncer

Kater lige et lille eksempel - måske kan det hjælpe jer:

public class Test extends javax.swing.JFrame {
   
    public Test() {
        initComponents();
    }
   
    private void initComponents() {
        jScrollPane1 = new javax.swing.JScrollPane();
        jList1 = new javax.swing.JList();
        jScrollPane2 = new javax.swing.JScrollPane();
        jList2 = new javax.swing.JList();

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jScrollPane1.setPreferredSize(new java.awt.Dimension(60, 60));
        jList1.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "1", "12", "123", "1234", "12345", "123456" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jList1.setPreferredSize(new java.awt.Dimension(100, 100));
        jScrollPane1.setViewportView(jList1);

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

        jScrollPane2.setPreferredSize(new java.awt.Dimension(60, 60));
        jList2.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "a", "ab", "abc", "abcd", "abcde" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jScrollPane2.setViewportView(jList2);

        getContentPane().add(jScrollPane2, java.awt.BorderLayout.NORTH);

        pack();
    }
   
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
   
    public static void main(String args[]) {
        new Test().show();
    }
   
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JList jList1;
    private javax.swing.JList jList2; 
}
Avatar billede king-at-run Nybegynder
08. juni 2003 - 13:07 #4
vi kan kun bestemme bredden, ikke længden???, men på din kode virker det jo fint.
h
Her er nået af vores:
                        pSouth4 = new JPanel();
            pSouth4.setLayout(new FlowLayout(FlowLayout.LEFT));
            pSouth4.setPreferredSize(new Dimension(100,50));
            pSouth4.add(new JScrollPane(liUdgivelsesdato));
            liUdgivelsesdato.setPreferredSize(new Dimension    100,25));
Avatar billede _carsten Nybegynder
08. juni 2003 - 13:37 #5
Nu har jeg kun set brudstykker af jeres kode, men prøv at fjerne alle
setPreferredSize eller sæt '//' to skråstreger foran pånær ved de 2 JList

Jeg tror i komprimerer tingene så meget, at der ikke er plads til de 2 JList
i har i jeres panel
Avatar billede mikkelbm Nybegynder
09. juni 2003 - 01:12 #6
Prøv at se her:

http://www.eksperten.dk/spm/361651

Der står nogenlunde det samme som _carsten har skrevet. Og det virker!
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