Jak usunąć ikonę z JOptionPane
?Usuń ikonę z JOptionPane
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
int result = JOptionPane.showConfirmDialog((Component) null, label, "ScreenPreview", JOptionPane.OK_CANCEL_OPTION);
Jak usunąć ikonę z JOptionPane
?Usuń ikonę z JOptionPane
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
int result = JOptionPane.showConfirmDialog((Component) null, label, "ScreenPreview", JOptionPane.OK_CANCEL_OPTION);
Można to zrobić poprzez bezpośrednie określenie wyglądu i wiadomości.
Twój kod zostanie ustawiony domyślnie, a ten użyje stylu "PLAIN_MESSAGE", w którym brakuje ikony. Zachowanie komponentu pozostaje niezmienione.
JOptionPane.showConfirmDialog(null, label, "ScreenPreview", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
Więcej informacji: http://docs.oracle.com/javase/6/docs/api/javax/swing/JOptionPane.html
Jest to dość proste, używając jako przezroczystą ikonę poniżej (w przeciwieństwie do czarnej „powitalny obrazek”). Należy jednak pamiętać, że choć opcja oferuje pewien "obszar poruszania się" pod względem sposobu wyświetlania, przejdź do zmiany kilku rzeczy i szybko staje się łatwiejsze w użyciu zamiast tego JDialog
.
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);
}
}
JOptionPane.PLAIN_MESSAGE? – mishik
http://stackoverflow.com/a/10489515/2381006 –
@mishik: JOptionPane.PLAIN_MESSAGE nie pozwoli mi OK Anuluj przyciski. –