- Code: Select all
import com.jidesoft.plaf.LookAndFeelFactory;
import javax.swing.*;
public class MenuItemIconAlignmentTest extends JFrame {
public MenuItemIconAlignmentTest() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
LookAndFeelFactory.installJideExtension();
} catch (Exception e) {
e.printStackTrace();
}
JMenuBar bar = new JMenuBar();
JMenu menu = new JMenu("Menu Bar");
JMenuItem item = new JMenuItem("Menu Item");
item.setIcon(new ImageIcon("green_circle.png"));
JMenu submenu = new JMenu("Submenu");
submenu.add(new JMenuItem("Submenu Item"));
submenu.setIcon(new ImageIcon("green_circle.png"));
menu.add(item);
menu.add(submenu);
bar.add(menu);
setJMenuBar(bar);
setSize(200,200);
setVisible(true);
}
public static void main(String a[]) {
new MenuItemIconAlignmentTest();
}
}
When I run it, I get something that looks like this:

You can see that the submenu's icon offset to the right, butting up against the edge of the sidebar. Is there something I can do to line those icons up properly?
Thanks in advance for any help or advice!
Richard