Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Hope the comments in this snippet will help you explain things.</p> <pre><code>import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TwoFrames { // Making our first JFrame. JFrame frame1 = new JFrame("FRAME 1"); // Declaring our second JFrame. JFrame frame2 ; public void createAndDisplayGUI() { // Used to close the JFrame graciously. frame1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // Used to position the JFrame at the middle of the screen. //frame1.setLocationRelativeTo(null); // Use this instead for placing windows, as determined by the OS. frame1.setLocationByPlatform(true); // Calling this method to create our frame2. makeNewFrame(); // Button to show the second JFrame. JButton showButton = new JButton("SHOW NEW FRAME"); showButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { // Checking if the frame2 is already visible // on the screen, if YES then we won't // create a new frame, else a new frame // will be created. This will prevent multiple // JFrame to be created at the click of this button. if (!(frame2.isShowing())) { // If you had already disposed it previously // by clicking the hide Button on the other frame // then the click on this button will recreate // a new frame to be displayed. makeNewFrame(); frame2.setVisible(true); } } }); // Adding the button to the South side of the frame1. frame1.add(showButton, BorderLayout.PAGE_END); frame1.pack(); frame1.setVisible(true); } private void makeNewFrame() { frame2 = new JFrame("FRAME 2"); frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame2.setLocationByPlatform(true); // Creating a JButton to be shown on the JFrame. JButton hideButton = new JButton("HIDE FRAME"); hideButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { // On the click of this button, frame2 will // disappear and HAI will be displayed on the console. frame2.dispose(); System.out.println("HAI"); } }); // Adding the button to the South side of the frame1. frame2.add(hideButton, BorderLayout.PAGE_END); frame2.pack(); } public static void main(String... args) { /* Here we are Secheduling a JOB for * Event Dispatcher Thread, since Swing * is not Thread Safe. This is used to place * the code which is responsible for * creating and diaplaying your GUI. */ SwingUtilities.invokeLater(new Runnable() { public void run() { TwoFrames tf = new TwoFrames(); tf.createAndDisplayGUI(); } }); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload