有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从JOptionPane中删除图标

如何从JOptionPane中删除图标

ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
int result = JOptionPane.showConfirmDialog((Component) null, label, "ScreenPreview", JOptionPane.OK_CANCEL_OPTION);

enter image description here


共 (3) 个答案

  1. # 1 楼答案

    写-1代替JOptionPane.QUESTION_MESSAGE

  2. # 2 楼答案

    您可以通过直接指定消息的外观来实现

    您的代码将采用默认的,而这一个将使用“PLAIN_MESSAGE”样式,它没有图标。组件的行为保持不变

    JOptionPane.showConfirmDialog(null, label, "ScreenPreview", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
    

    更多信息:http://docs.oracle.com/javase/6/docs/api/javax/swing/JOptionPane.html

  3. # 3 楼答案

    通过使用下面的透明图标(与黑色的“飞溅图像”相反),这相当容易。不过请注意,虽然选项窗格在显示方式方面提供了一些“摇摆空间”,但如果要更改一些内容,使用JDialog会很快变得更容易

    Icon Free Option Pane

    import java.awt.*;
    import java.awt.image.BufferedImage;
    import javax.swing.*;
    
    class IconFree {
    
        public static void main(String[] args) {
            Runnable r = new Runnable() {
    
                @Override
                public void run() {
                    // A transparent image is invisible by default.
                    Image image = new BufferedImage(
                            1, 1, BufferedImage.TYPE_INT_ARGB);
                    JPanel gui = new JPanel(new BorderLayout());
                    // ..while an RGB image is black by default.
                    JLabel clouds = new JLabel(new ImageIcon(new BufferedImage(
                            250, 100, BufferedImage.TYPE_INT_RGB)));
                    gui.add(clouds);
    
                    JOptionPane.showConfirmDialog(null, gui, "Title",
                            JOptionPane.OK_CANCEL_OPTION,
                            JOptionPane.QUESTION_MESSAGE,
                            new ImageIcon(image));
                }
            };
            // Swing GUIs should be created and updated on the EDT
            // http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html
            SwingUtilities.invokeLater(r);
        }
    }