2013-06-07 31 views
7

Simge nasıl kaldırılır JOptionPane?Simge kaldır 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

+1

JOptionPane.PLAIN_MESSAGE ? – mishik

+0

http://stackoverflow.com/a/10489515/2381006 –

+1

@mishik: JOptionPane.PLAIN_MESSAGE bana izin vermiyor Tamam İptal düğmeleri. –

cevap

19

doğrudan mesajınızın Görünüş ve belirterek yapabilirsiniz.

Kodunuz varsayılan olanı alırken, bu, simgeden yoksun "PLAIN_MESSAGE" stilini kullanır. Bileşenin davranışı değişmeden kalır.

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

diğer bilgiler: http://docs.oracle.com/javase/6/docs/api/javax/swing/JOptionPane.html

2

Bu (siyah 'sıçrama görüntüsü' aksine) aşağıdaki gibi şeffaf bir simge kullanarak oldukça kolaydır. Bununla birlikte, seçenek bölmesinin, nasıl görüntülendiği konusunda bir miktar "kıpırtı alanı" sunarken, bir kaç şeyi değiştirmeye gittiğini ve bunun yerine bir JDialog kullanmak daha kolay olduğunu unutmayın.

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); 
    } 
}