making a JPanel into a JOptionPane.OK_OPTION

event-handling, java, joptionpane, jpanel, swing

Solution

You can simply pass the object of that `JPanel` within the `JOptionPane`. For example:

 JPanel panel = new JPanel();
 panel.add(new JButton("Click"));
 panel.add(new JTextField(20));
 panel.add(new JLabel("Label"));
 JOptionPane.showMessageDialog(null,panel,"Information",JOptionPane.INFORMATION_MESSAGE);

Above code will put the `JPanel` on `JOptionPane` message dialog. When you click `OK` the panel closes Off.

Problem

currently i have a class which extends JPanel and basically shows some information about an object passed into its constructor. There are various labels and Image icons on the screen and has a BorderLayout set. This panel is triggered when the user left clicks on an ImageIcon from the main GUI and shows up on the screen. i was wondering, how (if there is a way) i could implement the JOptionPane.OK_OPTION onto the whole Panel so that i dont have to close the panel using Event handling, as the screen is simply to show information and when the user has finished, they press okay and the panel should close off. thanks Jordan

Original source