import java.awt.*; import java.awt.event.*; import javax.swing.*; public class FrameTest33480 { public static void main(String s[]) { JFrame frame = new MyFrame("FrameTest33480"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); JEditorPane pane = new JEditorPane(); frame.getContentPane().add(pane, BorderLayout.CENTER); frame.setSize(new Dimension(400,400)); frame.setVisible(true); } public static class MyFrame extends JFrame implements ActionListener { public static final String CMD1 = "Modal with owner"; public static final String CMD2 = "Modal without owner"; public static final String CMD3 = "Nonmodal with owner"; public static final String CMD4 = "Nonmodal without owner"; public MyFrame (String s) { super(s); //in the constructor for a JFrame subclass: JMenuBar menuBar; JMenu menu; JMenuItem menuItem; //Create the menu bar. menuBar = new JMenuBar(); setJMenuBar(menuBar); //Build the first menu. menu = new JMenu("Test"); menuBar.add(menu); //a group of JMenuItems menuItem = new JMenuItem(CMD1); menu.add(menuItem); menuItem.addActionListener(this); menuItem = new JMenuItem(CMD2); menu.add(menuItem); menuItem.addActionListener(this); menuItem = new JMenuItem(CMD3); menu.add(menuItem); menuItem.addActionListener(this); menuItem = new JMenuItem(CMD4); menu.add(menuItem); menuItem.addActionListener(this); } public void actionPerformed(ActionEvent e) { //System.out.println("e:" + e.getActionCommand()); if (CMD1.equals(e.getActionCommand())) { //Modal with owner JDialog dialog = new JDialog(this,CMD1,true); dialog.setSize(new Dimension(200,200)); dialog.show(); } else if (CMD2.equals(e.getActionCommand())) { //Modal without owner JDialog dialog = new JDialog((Frame) null, CMD2, true); dialog.setSize(new Dimension(200,200)); dialog.show(); } else if (CMD3.equals(e.getActionCommand())) { //Nonmodal with owner JDialog dialog = new JDialog(this,CMD3,false); dialog.setSize(new Dimension(200,200)); dialog.show(); } else if (CMD4.equals(e.getActionCommand())) { //Nonmodal without owner JDialog dialog = new JDialog((Frame) null, CMD4, false); dialog.setSize(new Dimension(200,200)); dialog.show(); } } } }