Customize JOptionPane Dialog

前端 未结 3 1563
南笙
南笙 2020-12-03 18:57

I am learning java swing. The code below is a catch block which handles an IOException and shows a error message.

 catch(IOException e)
    {
        System         


        
3条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-03 19:15

    You can simply add your components to a JPanel and then add this JPanel to your JOptionPane, as shown in this small example :

    import java.awt.*;
    import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import javax.swing.*;
    import javax.imageio.ImageIO;
    
    public class JOptionPaneExample {
    
        private void displayGUI() {
            JOptionPane.showConfirmDialog(null,
                            getPanel(),
                            "JOptionPane Example : ",
                            JOptionPane.OK_CANCEL_OPTION,
                            JOptionPane.PLAIN_MESSAGE);
        }
    
        private JPanel getPanel() {
            JPanel panel = new JPanel();
            JLabel label = new JLabel("Java Technology Dive Log");
            ImageIcon image = null;
            try {
                image = new ImageIcon(ImageIO.read(
                        new URL("http://i.imgur.com/6mbHZRU.png")));
            } catch(MalformedURLException mue) {
                mue.printStackTrace();
            } catch(IOException ioe) {
                ioe.printStackTrace();
            } 
    
            label.setIcon(image);
            panel.add(label);
    
            return panel;
        }
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    new JOptionPaneExample().displayGUI();
                }
            });
        }
    }
    

提交回复
热议问题