/** * Removes leading & trailing separators (if any). * * @param menuAdapter the source menu via our MenuAdapter * @return menu sans pointless separators (that separate nothing) */ static JComponent trim(MenuAdapter menuAdapter) { int count = menuAdapter.getMenuComponentCount(); if (count > 0) { Component firstComponent = menuAdapter.getMenuComponent(0); if (firstComponent instanceof JSeparator) { menuAdapter.remove(0); } int last = menuAdapter.getMenuComponentCount() - 1; Component lastComponent = menuAdapter.getMenuComponent(last); if (lastComponent instanceof JSeparator) { menuAdapter.remove(last); } if (count > menuAdapter.getMenuComponentCount()) trim(menuAdapter); } return menuAdapter.getComponent(); }