Avatar billede instruktor Nybegynder
08. juni 2003 - 19:02 Der er 18 kommentarer og
1 løsning

Clear JList

hvordan tømmer jeg indholdet i en Jliste?
Avatar billede riversen Nybegynder
08. juni 2003 - 19:06 #1
prøv med removeAll()
Avatar billede riversen Nybegynder
08. juni 2003 - 19:07 #2
ellers vil setListData( new Vector() ); i hvert fald virke. Måske du kan give null med. Men jeg ved ikke lige om det er den "rigtige" måde at gøre det på
Avatar billede simonvalter Praktikant
08. juni 2003 - 19:08 #3
removeAllElements()
Avatar billede instruktor Nybegynder
08. juni 2003 - 19:08 #4
det hjælper ikke?
Avatar billede instruktor Nybegynder
08. juni 2003 - 19:12 #5
problemet er at JListen husker de data jeg først har indsat og derfor bare ligger de ny oven i! Jeg skal tømme hele list og derefter tilføje ny data
Avatar billede simonvalter Praktikant
08. juni 2003 - 19:23 #6
jeg gør selv sådan her

DefaultListModel model = new DefaultListModel();
JList list = new JList(model);

model.removeAllElements()
Avatar billede riversen Nybegynder
08. juni 2003 - 19:27 #7
model.removeAllElements(); efterfulgt af
model.fireContentsChanged();
Avatar billede trp79 Nybegynder
08. juni 2003 - 19:45 #8
Du kan evt. lave JListen dynamisk, således at hver gang du ændre i den vil det fremkomme med det samme. Det er meget let at lave en dynamisk JList - se understående eksempel. Derefter kan du slette alle elementer med jlist.removeAllElements() som loadet skriver.

private DefaultListModel bookmarkListModel = new DefaultListModel();  //Knyttes til jListBookmark for at gøre jListen dynamisk

jListBookmark = new JList(bookmarkListModel);

bookmarkListModel.addElement(new bookmark("ipAdr", "username", "pass", "port"))
bookmarkListModel.removeAllElements(); //fjerner alle elementer i jlisten.
Avatar billede instruktor Nybegynder
08. juni 2003 - 19:52 #9
kan jeg stadig ikke få til at virke
Avatar billede trp79 Nybegynder
08. juni 2003 - 19:53 #10
Kan du ikke prøve at poste noget kode? Det skulle nu gerne funke... :o)
Avatar billede trp79 Nybegynder
08. juni 2003 - 19:54 #11
Husk at det er den DefaultListModel du opretter du skal kalde removeAllElements() på.
Avatar billede instruktor Nybegynder
08. juni 2003 - 19:56 #12
kan nogen se på min kode og hjælpe mig?
Avatar billede instruktor Nybegynder
08. juni 2003 - 19:57 #13
import javax.swing.*;
public class kim extends javax.swing.JFrame {
   
    String kim = "";
    String nar = "";
    public kim() {
        initComponents(); 
    }
   
    private void initComponents() {
        jTextField1 = new javax.swing.JTextField();
        //list = new javax.swing.JList();
        DefaultListModel bookmarkListModel = new DefaultListModel();
        jListBookmark = new JList(bookmarkListModel);

        //JList list = new javax.swing.JList(model);

        getContentPane().setLayout(null);

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

        jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextField1KeyReleased(evt);
            }
        });

        getContentPane().add(jTextField1);
        jTextField1.setBounds(120, 50, 180, 30);

        list.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
            public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
                listValueChanged(evt);
            }
        });

        getContentPane().add(list);
        list.setBounds(20, 60, 80, 170);

        pack();
    }

    private void listValueChanged(javax.swing.event.ListSelectionEvent evt) {
        nar = (String)list.getSelectedValue();
        jTextField1.setText(nar);
       
    }

    private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
       
        kim = jTextField1.getText();
        String[] ib = EListeTest.searchList(kim);
        bookmarkListModel.removeAllElements();
        bookmarkListModel.addElement(ib);
        //list.setListData(ib);
    }
       
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
   
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        new test().show();
     
     
    }
   
    // Variables declaration - do not modify
    private javax.swing.JList list;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration
   
}
Avatar billede ellebaek Nybegynder
08. juni 2003 - 19:57 #14
hvis alt andet kikser kan du evt. fjerne listen og oprette en ny tom og sætte denne ind i stedet...

pane.remove(l);
l = new JList();
pane.add(l)
win.pack();
win.show();
Avatar billede trp79 Nybegynder
08. juni 2003 - 19:58 #15
Prøv engang at poste den her på exp, så kigger vi på det.
Avatar billede trp79 Nybegynder
08. juni 2003 - 20:03 #16
import javax.swing.*;
public class kim extends javax.swing.JFrame {
   
    String kim = "";
    String nar = "";
    public kim() {
        initComponents(); 
    }
   
    private void initComponents() {
        jTextField1 = new javax.swing.JTextField();
        list = new javax.swing.JList();
        DefaultListModel jListModel = new DefaultListModel();
        list = new JList(jListModel);

        getContentPane().setLayout(null);

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

        jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextField1KeyReleased(evt);
            }
        });

        getContentPane().add(jTextField1);
        jTextField1.setBounds(120, 50, 180, 30);

        list.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
            public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
                listValueChanged(evt);
            }
        });

        getContentPane().add(list);
        list.setBounds(20, 60, 80, 170);

        pack();
    }

    private void listValueChanged(javax.swing.event.ListSelectionEvent evt) {
        nar = (String)list.getSelectedValue();
        jTextField1.setText(nar);
       
    }

    private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
       
        kim = jTextField1.getText();
        String[] ib = EListeTest.searchList(kim);
        jListModel.removeAllElements();
        jListModel.addElement(ib);
    }
       
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
   
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        new test().show();
     
     
    }
   
    // Variables declaration - do not modify
    private javax.swing.JList list;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration
   
}
Avatar billede trp79 Nybegynder
08. juni 2003 - 20:05 #17
Prøv engang om det ikke funker :)
Du havde lidt rod, da du havde denne jlist: jListBookmark = new JList(bookmarkListModel);

og senere nede i koden brugte jlisten "list".
Avatar billede trp79 Nybegynder
08. juni 2003 - 20:06 #18
Hvis det stadig ikke virker må du endelig sige til. Hvis den kommer med en compilerings fejl er det og vigtigt at du poster den. Det går jeg ud fra den gjorde i den kode du postede 19:57:36...
Avatar billede trp79 Nybegynder
08. juni 2003 - 20:11 #19
Husk iøvrigt at give når du opretter variabler og instanser af objekter at navngive dem godt, således at det er sigende. Ellers miste man hurtigt overblikket. Derfor vil det nok også være en god ide at omdøbe de navne jeg kom med :o)
Mvh
Torben
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