Search code examples
javaswingevent-handlingjpaneljoptionpane

making a JPanel into a JOptionPane.OK_OPTION


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


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.