java - How to make JTable with JComboBox respond only on double click instead of single click -


so first time tried using celleditors jtable embed jcombobox , jspinner. works fine expected wherein can see values in jcombobox model jspinner's model values.

however, noticed displays jcombobox's values make single click on jtable's column has jcombobox.

it's not user friendly because think user prefer double click on jtable's column dropdown box values , select values instead of single click.

how can change jcombobox's behaviour display on double click?

i thought i'd apply mouselistener jcombobox don't know next.

here's i've written far.

public class scheduledaycelleditor extends defaultcelleditor{     private jcombobox jcmbdays;     private jtable jtblschedule;     private defaultcomboboxmodel model;      public scheduledaycelleditor(){         super(new jcombobox());         model = new defaultcomboboxmodel(new string[]{"mon","tue","wed","thu","fri"});         jcmbdays = new jcombobox(model);         jcmbdays.seteditable(false);         jcmbdays.setselectedindex(-1);          jcmbdays.addmouselistener(new mouselistener() {             @override             public void mouseclicked(mouseevent e) {                 if(e.getclickcount() == 2){                     //? ? ? ?                 }             }              @override             public void mousepressed(mouseevent e) {             }              @override             public void mousereleased(mouseevent e) {             }              @override             public void mouseentered(mouseevent e) {             }              @override             public void mouseexited(mouseevent e) {             }         });     }      @override     public component gettablecelleditorcomponent(jtable table, object value, boolean isselected, int row, int column) {         return jcmbdays;     }      @override     public object getcelleditorvalue() {         return jcmbdays.getselecteditem(); //to change body of generated methods, choose tools | templates.     } 

here's screenshot additional description.

enter image description here

i'd appreciate help.

thank you.

simply override iscelleditable applying further criterion:

@override public boolean iscelleditable(eventobject aanevent) {     boolean celleditable = super.iscelleditable(aanevent);      if (celleditable && aanevent instanceof mouseevent) {         celleditable = ((mouseevent) aanevent).getclickcount() == 2;     }      return celleditable; } 

Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -