Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

JOptionPane mit bild





Frage

Tach auch, ich hab n kleines proggy geschrieben, bei dem ich jetzt n image in n JOptionPane einfügen will. wenn ich so mache: Code: [code] ImageIcon button; button = new ImageIcon(getClass().getResource("bild.gif")); JOptionPane.showMessageDialog(null, "Sehr gut,\ndas war richtig!", bild); [/code] kommt n fehler. wie gehts besser?

Antwort 1 von mr_x_hacker

Den Konstruktor für den Dialog gibt es nicht...


ImageIcon button;
      button =  new ImageIcon(getClass().getResource("bild.gif"));
      JOptionPane.showMessageDialog(null, "Sehr gut, \ndas war richtig!", 
"Titel", JOptionPane.OK_CANCEL_OPTION, button);


sollte laufen...
Also noch den Fenstertitel und welche Buttons da sein sollen, angeben.

Ciao Sascha



Antwort 2 von mr_x_hacker

Ups, wie komm ich auf Konstruktor...?
Bitte das Wort ignorieren :-)
Gemeint ist die Signatur der Methode...

Ciao Sascha

Antwort 3 von semi

Du kannst die Icons über den UIManager ersetzen. Es gibt zu jeder Komponente eine UI-Klasse, die sich des UIManagers bedient, um bestimmte UIDefaults zu speichern.
Bei OptionPane ist es die Klasse BasicOptionPaneUI. Es gibt dort die Methode

protected Icon getIconForType(int messageType)

Du hast nun drei Möglichkeiten

1) Eigene UI-Klasse zu implementieren (damit versperrst Du Dir die Option, verschiedene PLAF's zu verwenden)
2) Eigenes Dialog mit OptionPane anzuzeigen.
3) Im UIManager die entsprechenden Icons ersetzen.

Hier die dritte Variante

UIManager.put(
 "OptionPane.informationIcon",
  new ImageIcon(getClass().getResource("bild.gif"))
);
//Siehe auch OptionPane.warningIcon, OptionPane.questionIcon

JOptionPane.showMessageDialog(
  ....., JOptionPane.INFORMATION_MESSAGE
);

Gruß,
Michael

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: