java - Refreshing JList in GUI on button event -


i've looked online how update jlist after adding model. automatically, others have manually it. i've tried both, , haven't had success. i'm trying update model addelement method, , goes through. i've walked through code , passed correctly. gui doesn't refresh.

package com.user.tutorial;  import java.awt.eventqueue;  import javax.swing.jframe; import javax.swing.jpanel;  import java.awt.borderlayout;  import javax.swing.jbutton;  import java.awt.event.actionlistener; import java.awt.event.actionevent;  import javax.swing.defaultlistmodel; import javax.swing.jmenubar; import javax.swing.jmenuitem; import javax.swing.box; import javax.swing.jmenu; import javax.swing.jtextpane; import javax.swing.listselectionmodel;  import java.awt.component; import java.awt.color; import java.awt.dimension; import java.awt.font; import java.awt.gridlayout;  import javax.swing.jlabel; import javax.swing.boxlayout; import javax.swing.jlist; import javax.swing.abstractlistmodel;  import java.awt.gridbaglayout; import java.awt.gridbagconstraints; import java.awt.systemcolor; import java.awt.insets; import java.util.list;  public class window {      private jframe frame;      public static void main(string[] args) {         eventqueue.invokelater(new runnable() {             public void run() {                 try {                     window window = new window();                     window.frame.setvisible(true);                 } catch (exception e) {                     e.printstacktrace();                 }             }         });     } public window() {     initialize(); }  /**  * initialize contents of frame. window builder  * generate code.  */ public void addto(jpanel displaypanel, component contenttoadd) {     displaypanel.add(contenttoadd); }  public void initialize() {      dimension sidepanelsize = new dimension(180, 540);      frame = new jframe();     frame.setbounds(100, 100, 480, 540);     frame.setdefaultcloseoperation(jframe.exit_on_close);      jmenubar menubar = new jmenubar();     frame.setjmenubar(menubar);      jmenu mnfile = new jmenu("file");     menubar.add(mnfile);      jmenuitem mntmload = new jmenuitem("load");     mnfile.add(mntmload);      jmenuitem mntmsave = new jmenuitem("save");     mnfile.add(mntmsave);      jmenuitem mntmexit = new jmenuitem("exit");     mnfile.add(mntmexit);      final jpanel itempanel = new jpanel();     itempanel.setpreferredsize(sidepanelsize);     itempanel.setbackground(color.white);     itempanel.setlayout(new borderlayout());      defaultlistmodel<string> model = new defaultlistmodel<>();     (string items : new string [] {"case", "motherboard", "cpu", "gpu", "psu", "ram", "hdd"})         model.addelement(items);      final jlist<string> itemlist = new jlist<>();     itemlist.setmodel(model);      itemlist.setselectionmode(listselectionmodel.single_selection);     itemlist.setfont(new font("segoeui", font.bold, 11));     itempanel.add(itemlist, borderlayout.west);     frame.getcontentpane().add(itempanel, borderlayout.west);      final jlist<string> addtolist = new jlist<>(new defaultlistmodel<string>());      jpanel buttoncontainer = new jpanel();     jpanel buttonlist = new jpanel();     gridbagconstraints c = new gridbagconstraints();      buttonlist.setlayout(new boxlayout(buttonlist, boxlayout.y_axis));     buttoncontainer.setlayout(new gridbaglayout());     buttoncontainer.setbackground(new color(238, 238, 238));      final jpanel displaypanel = new jpanel();     displaypanel.setpreferredsize(sidepanelsize);     displaypanel.setbackground(color.white);     frame.getcontentpane().add(displaypanel, borderlayout.east);                   // right here button action. `displaymodel` model of `jlist` i'm updating.          jbutton addbutton = new jbutton(">>");         addbutton.addactionlistener(new actionlistener() {             public void actionperformed(actionevent e) {                 list<string> selected = itemlist.getselectedvalueslist();                 defaultlistmodel<string> displaymodel = (defaultlistmodel<string>) addtolist.getmodel();                  (string item: selected) {                     displaymodel.addelement(item);                 }             }         });         buttonlist.add(addbutton);           jbutton deletebutton = new jbutton("<<");         deletebutton.addactionlistener(new actionlistener() {             public void actionperformed(actionevent e) {             }         });         buttonlist.add(deletebutton);         c.gridx = 0;         c.gridy = 0;         buttoncontainer.add(buttonlist, c);         frame.getcontentpane().add(buttoncontainer, borderlayout.center);     } } 

i'm not sure going wrong. i've checked documentation. guess i'm missing simple. help.

everything seems passed there isn't change gui.

did read point "3" of suggestion of possible problems?


Comments

Popular posts from this blog

html - Firefox flex bug applied to buttons? -

html - Missing border-right in select on Firefox -

python - build a suggestions list using fuzzywuzzy -