Public Methods | |
PopMenu (JComponent parent) | |
PopMenu (JComponent parent, String[] labels) | |
void | addLabel (String label) |
void | addLabels (String[] newLabels) |
void | addMenu (JMenu m) |
void | addSeparator () |
void | insertSeparator (int index) |
void | setEnabled (boolean b, String label) |
void | show (int x, int y) |
void | actionPerformed (ActionEvent event) |
|
00031 { 00032 this.parent = parent; 00033 this.labels = new String[0]; 00034 pum = new JPopupMenu(); 00035 } |
|
00039 { 00040 this.parent = parent; 00041 this.labels = labels; 00042 pum = new JPopupMenu(); 00043 addLabels(labels); 00044 } |
|
00051 { 00052 String[] tmp = new String[1]; 00053 tmp[0] = label; 00054 addLabels(tmp); 00055 } |
|
00059 { 00060 if (newLabels != null) { 00061 String[] tmp = new String[labels.length + newLabels.length]; 00062 for (int i=0; i < labels.length + newLabels.length; i++) { 00063 if (i < labels.length) { 00064 tmp[i] = labels[i]; 00065 } else { 00066 tmp[i] = newLabels[i - labels.length]; 00067 00068 JMenuItem mi = new JMenuItem(tmp[i]); 00069 00070 mi.setActionCommand(tmp[i]); 00071 mi.addActionListener(this); 00072 pum.add(mi); 00073 } 00074 } 00075 labels = tmp; 00076 } 00077 } |
|
00081 { 00082 pum.add(m); 00083 00084 String[] tmp = new String[labels.length + 1]; 00085 for (int i=0; i < labels.length; i++) { 00086 tmp[i] = labels[i]; 00087 } 00088 tmp[labels.length] = m.getLabel(); 00089 labels = tmp; 00090 } |
|
00094 { 00095 pum.addSeparator(); 00096 00097 String[] tmp = new String[labels.length + 1]; 00098 for (int i=0; i < labels.length; i++) { 00099 tmp[i] = labels[i]; 00100 } 00101 tmp[labels.length] = ""; 00102 labels = tmp; 00103 } |
|
00107 { 00108 if (index >= labels.length) { 00109 addSeparator(); 00110 } 00111 00112 JSeparator sep = new JSeparator(); 00113 pum.insert(sep, index); 00114 00115 String[] tmp = new String[labels.length + 1]; 00116 for (int i=0; i < labels.length + 1; i++) { 00117 if (i < index) { 00118 tmp[i] = labels[i]; 00119 } else if (i == index) { 00120 tmp[i] = ""; 00121 } else { 00122 tmp[i] = labels[i-1]; 00123 } 00124 } 00125 labels = tmp; 00126 } |
|
00130 { 00131 for (int i=0; i<labels.length; i++) { 00132 if (labels[i].equals(label)) { 00133 pum.getComponentAtIndex(i).setEnabled(b); 00134 return; 00135 } 00136 } 00137 } |
|
00141 { 00142 parent.add(pum); 00143 pum.show(parent, x, y); 00144 } |
|
00151 { 00152 ((ActionListener)parent).actionPerformed(event); 00153 } |