1
1
package ai .nets .samj .gui ;
2
2
3
+ import java .awt .event .ItemEvent ;
4
+ import java .awt .event .ItemListener ;
3
5
import java .io .IOException ;
4
6
import java .util .List ;
5
7
6
8
import javax .swing .JButton ;
7
9
import javax .swing .JComboBox ;
8
- import javax .swing .event .PopupMenuEvent ;
9
- import javax .swing .event .PopupMenuListener ;
10
10
11
11
import ai .nets .samj .gui .components .ComboBoxButtonComp ;
12
12
import net .imglib2 .RandomAccessibleInterval ;
13
13
import net .imglib2 .type .NativeType ;
14
14
import net .imglib2 .type .numeric .RealType ;
15
- import ai .nets .samj .annotation .Mask ;
16
15
import ai .nets .samj .communication .model .SAMModel ;
17
16
18
- public class ModelSelection extends ComboBoxButtonComp <String > implements PopupMenuListener {
17
+ public class ModelSelection extends ComboBoxButtonComp <String > implements ItemListener {
19
18
20
19
private SAMModel selected ;
21
20
@@ -33,7 +32,7 @@ private ModelSelection(List<SAMModel> models, ModelSelectionListener listener) {
33
32
for (SAMModel model : models ) {
34
33
this .cmbBox .addItem (model .getName ());
35
34
}
36
- cmbBox .addPopupMenuListener (this );
35
+ cmbBox .addItemListener (this );
37
36
selected = models .get (cmbBox .getSelectedIndex ());
38
37
}
39
38
@@ -65,37 +64,24 @@ protected void unLoadModel() {
65
64
}
66
65
67
66
@ Override
68
- /**
69
- * Nothing
70
- */
71
- public void popupMenuWillBecomeVisible (PopupMenuEvent e ) {
72
- }
73
-
74
- @ Override
75
- /**
76
- * Check if the image selected has been changed once the combobox pop up is closed
77
- */
78
- public void popupMenuWillBecomeInvisible (PopupMenuEvent e ) {
79
- try {
80
- SAMModel nSelectedModel = models .get (cmbBox .getSelectedIndex ());
81
- if (nSelectedModel != selected ) {
82
- unLoadModel ();
83
- listener .changeGUI ();
84
- selected = nSelectedModel ;
67
+ public void itemStateChanged (ItemEvent e ) {
68
+ if (e .getStateChange () == ItemEvent .SELECTED ) {
69
+ try {
70
+ SAMModel nSelectedModel = models .get (cmbBox .getSelectedIndex ());
71
+ // checks if indeed a different model is selected (from what was selected before)
72
+ if (nSelectedModel != selected ) {
73
+ unLoadModel ();
74
+ listener .changeGUI ();
75
+ selected = nSelectedModel ;
76
+ }
77
+ } catch (Exception ex ) {
78
+ ex .printStackTrace ();
85
79
}
86
- } catch (Exception ex ) {
87
- ex .printStackTrace ();
80
+ listener .changeDrawerPanel ();
88
81
}
89
- listener .changeDrawerPanel ();
90
82
}
91
83
92
- @ Override
93
- /**
94
- * Nothing
95
- */
96
- public void popupMenuCanceled (PopupMenuEvent e ) {
97
- }
98
-
84
+
99
85
public interface ModelSelectionListener {
100
86
101
87
void changeDrawerPanel ();
0 commit comments