+ * Initialise this cache's pop-up menu
+ */
+ private void initCachePopupMenu()
+ {
+ add(popup);
+ setComponentPopupMenu(popup);
+ pnlDefaultCache.setBackground(Color.WHITE);
+ txtDefaultCacheSize.setPreferredSize(new Dimension(45, 20));
+ lblDefaultCacheSize.setText(SPACE
+ + MessageManager.getString("label.default_cache_size"));
+ // Force input to accept only Integer entries up to length - INPUT_LIMIT
+ txtDefaultCacheSize.setDocument(new PlainDocument()
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void insertString(int offs, String str, AttributeSet a)
+ throws BadLocationException
+ {
+ if (getLength() + str.length() <= INPUT_LIMIT && isInteger(str))
+ {
+ super.insertString(offs, str, a);
+ }
+ }
+ });
+ txtDefaultCacheSize.setText(appCache.getCacheLmit(cacheKey));
+ pnlDefaultCache.add(lblDefaultCacheSize);
+ pnlDefaultCache.add(txtDefaultCacheSize);
+ popup.insert(pnlDefaultCache, 0);
+
+ menuItemClearCache.setText(MessageManager
+ .getString("action.clear_cached_items"));
+ menuItemClearCache.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ System.out.println(">>>>> Clear cache items");
+ setSelectedItem("");
+ appCache.deleteCacheItems(cacheKey);
+ updateCache();
+ }
+ });
+
+ popup.add(menuItemClearCache);
+ }
+
+ /**