30. marts 2003 - 21:46
Der er
16 kommentarer og 2 løsninger
"Tømme" en JList
Vi har nogle JLists som vi vil "tømme" for den tekst som er i dem. Hvordan gøres dette? ...altså tilsvarende etTekstFelt.setText("");
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
30. marts 2003 - 21:49
#1
liste.removeAll();
30. marts 2003 - 21:53
#2
Man kunne vel også bruge: liste.setListData(null); (men jeg har ikke testet..)
30. marts 2003 - 22:02
#3
removeAll() får vi ikke til at fungere... Hvad gør vi forkert? setListData(null); kan ikke bruges, men man kan proppe ind f.eks. en tom Vector: setListData(new Vector()); Det er bare ikke en særlig køn løsning...
30. marts 2003 - 22:06
#4
Hvorfor ikke ? Den tomme vector repræsenterer jo netop JList's datamodel (som også skal være tom).
30. marts 2003 - 22:40
#5
setListData((Vector)null); måske :-)
30. marts 2003 - 23:36
#6
soreno >> Vi burde nok skrevet "Det virker bare ikke som en særlig køn løsning..." Vi får et indtryk af at det er lidt "snyd"...
31. marts 2003 - 00:03
#7
Dette burde virke: list.getModel().removeAllElements(); Da ListModel implementerer DefaultComboBoxModel der har denne metode.
31. marts 2003 - 00:47
#8
pkrasmus har ret, i skal kalde alle opdateringsmetoder på modellen, ikke på JListen. Modellen står for opdatering af View, det er ganske simpel Model View Controller :)
31. marts 2003 - 12:36
#9
Det er mulig vi ikke tænker ordentligt nu, men vi finder ingen removeAllElements() på list.getModel...
31. marts 2003 - 14:30
#10
Du skal caste det til en (DefaultListModel)
31. marts 2003 - 14:32
#11
Eller bare kalde modellen implicit: DefaultListModel model = new DefaultListModel(); JList list = new JList(model); model.removeAllElements();
31. marts 2003 - 14:43
#12
Der kan man se hvad der sker når man skynder sig for meget ;-) Det er selvfølgelig rigtigt 'viht' at der skal castes, så lige for at skære det ud i pap... ((DefaultListModel)list.getModel()).removeAllElements(); ;-)
31. marts 2003 - 16:19
#13
pkrasmus >> Så får vi en ClassCastException... :-(
31. marts 2003 - 16:22
#14
viht >> Din måde fungerer, men det da lidt besværligt med "al" den kode hver gang?
31. marts 2003 - 18:30
#15
Modellen er en privat instansvariablen i klassen, så du skriver bare: private DefaultListModel model; private JList list; public MyClass() { model = new DefaultListModel(); list = new JList(model); } private boolean removeFromList(Object o) { return model.removeElement(o); } private void removeFromList(int index) { model.removeElementAt(index); } private void addToList(Object o) { model.addElement(o); } private void emptyList() { model.removeAllElements(); }
07. april 2003 - 12:25
#16
Det ser da fint ud - viht, vil du have nogle points?
07. april 2003 - 12:34
#17
Tak
07. april 2003 - 12:45
#18
Tak for hjælpen!
Kurser inden for grundlæggende programmering