I have a java app which has a menu. One of the menu items is Exit. Which is defined as follows:
    item_exit.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent event) {        
            System.exit(0);
        }
    });
Another menu item is New, which makes another instance (?) of the same program run in parallel. It is defined as follows: 
    item_new.addActionListener(new ActionListener() {          
            MyApp app = new MyApp(); 
            app.start();
        }
    });
It works as desired except for one problem. It's that when I close one of them, both of them close. The entire app is built on one JFrame object. I don't think changing the default close operation of it will help. I think the issue is with system.exit(0). But, what is the alternative to fix this? I only want the thread I closed to close, not all of them. Thanks.