Skip to content

Instantly share code, notes, and snippets.

@josmas
Created July 24, 2011 20:02
Show Gist options
  • Save josmas/1103031 to your computer and use it in GitHub Desktop.
Save josmas/1103031 to your computer and use it in GitHub Desktop.
JMenuItems and positions don't seem to go together
package testingtheguibuilder;
import java.awt.*;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JFrame;
public class MenuDemo {
JTextArea output;
JScrollPane scrollPane;
public JMenuBar createMenuBar() {
JMenuBar menuBar;
JMenu menu;
JMenuItem menuItem1, menuItem2, menuItem4, menuItem97, menuItem99;
menuBar = new JMenuBar();
menu = new JMenu("A Menu");
menuBar.add(menu);
menuItem2 = new JMenuItem("text Pos_2");
menu.insert(menuItem2, 2);
menuItem99 = new JMenuItem("text Pos_99");
menu.insert(menuItem99, 99);
menuItem4 = new JMenuItem("text Pos_4");
menu.insert(menuItem4, 4);
menuItem97 = new JMenuItem("text Pos_97");
menu.insert(menuItem97, 97);
menuItem1 = new JMenuItem("text Pos_1");
menu.insert(menuItem1, 1);
return menuBar;
}
public Container createContentPane() {
JPanel contentPane = new JPanel(new BorderLayout());
contentPane.setOpaque(true);
output = new JTextArea(5, 30);
output.setEditable(false);
scrollPane = new JScrollPane(output);
contentPane.add(scrollPane, BorderLayout.CENTER);
return contentPane;
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("MenuDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MenuDemo demo = new MenuDemo();
frame.setJMenuBar(demo.createMenuBar());
frame.setContentPane(demo.createContentPane());
frame.setSize(450, 260);
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
@josmas
Copy link
Author

josmas commented Jul 24, 2011

Executing this code (make sure you change the package name accordingly) creates the JMenuItems in positions that are not the same as indicated (at least under Leopard with Java 6). Am I misreading the API and that is not what the position in the insert method means?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment