Dialog mit eigenem Bild

Status
Nicht offen für weitere Antworten.

dR.LoL

Bekanntes Mitglied
Hallo,
Ist es möglich so ein About Dialog (Wie es in fast jedem GUI Tool gibt) zu erstellen mit einem Eigenen Pic ohne ein JFrame zu benutzen?

Also zum Beispiel auf eine solche Art.
blubb.showMessageDialog(this, "STFU Noob", "Title", JOptionPane.QUESTION_MESSAGE);

Nur halt mit einem eigenen, nicht Question sondern Spambild 😀
 
:arrow: JOptionPane.html#showMessageDialog(java.awt.Component,%20java.lang.Object,%20java.lang.String,%20int,%20javax.swing.Icon)
 
Hab ich nicht ganz geschnallt, habe es nun aber mit einem JDialog gemacht.

Habe ein Bespiel gefunden, wie ich nun noch zusätzlich ein Bild aufzeichne:
public void paintLogo(Graphics g)
{
imgAbout = getToolkit().getImage("Images/logo.jpg");
g.drawImage(imgAbout, 20, 20, this);
}

Jedoch erscheinen bei mir Fehler wegen des getToolkit(). Brauch ich dazu was besonderes?
 
:bahnhof:
wenn du showMessageDialog(this, "STFU Noob", "Title", JOptionPane.QUESTION_MESSAGE); schnallst, was ist dann an der anderen methode nicht zu schnallen :?:

du musst warten bis getImage() das bild geladen hat oder es mit ImageIO lesen.
und bei jedem zeichnen das bild zu lesne ist hm.. suboptimal 😉
 
Ich mach einen JDialog nun.

Mit Panels.

Ich muss das Bild:
imgAbout = new ImageIcon("Images/logo.jpg");
Nun irgendwie dem Panel zuweisen können.
Damit, wenn ich auf About klicke, der Dialog erscheint, dann auch das Bild erscheint.

(Habe irgendwie Probleme deine Aussagen zu verstehen...)
 
häh nochmal bitte.
also ok statt einer 1-zeilen lösung nun alles selber, hab ich soweit verstanden.

>> imgAbout = new ImageIcon("Images/logo.jpg");
warum jetz ein ImageIcon ?
>> Nun irgendwie dem Panel zuweisen können.
und inwiefern zuweisen? du hattest es doch schon fast richtig mit deinem paintLogo()
irgendwie hab ich das gefühl du bewegst dich zurück :S
am besten du behältst dein ImageIcon, kloppst es auf ein JLabel und kloppst das auf dein Panel.
 
Keine Ahnung, atm habe ich ein völliges Durcheinander, weil ich die ganze Zeit nach Lösungen (Wie stelle in ein Bild dar) im Internet gesucht habe. und so viele Varianten (Image, ImageIcon, blablubbbleh) vorhanden waren und ich keines zum laufen gebracht habe.
am besten du behältst dein ImageIcon, kloppst es auf ein JLabel und kloppst das auf dein Panel.
Okay.


Hab ich mal soweit realisiert: (denke/hoffe ich)
Code:
  public void showAbout()
  {
    //initialization
    lblAboutdialog = new JLabel();
    myAboutpanel = new JPanel(new BorderLayout());
    myAboutpanelTop = new JPanel(new BorderLayout());
    myAboutpanelBottom = new JPanel(new BorderLayout());
    myAboutCloseButton = new JButton("Close!");
    myDialogAbout.setLocation(50, 50);
    myDialogAbout.setSize(300,200);
    myDialogAbout.setResizable(false);
    myAboutCloseButton.addActionListener(
      new ActionListener() { 
        public void actionPerformed(ActionEvent event) {
          myDialogAbout.setVisible(false);
        }
      }
    );
    imgAbout = new ImageIcon("Images/logo.jpg");
    lblAboutdialog.setText("This application is written by me, myself and I!");
//  add components
    myAboutpanelTop.add(new JLabel(imgAbout),BorderLayout.WEST);
    myAboutpanelTop.add(lblAboutdialog,BorderLayout.CENTER);
    myAboutpanelBottom.add(myAboutCloseButton);
    myAboutpanel.add(myAboutpanelTop,BorderLayout.CENTER);
    myAboutpanel.add(myAboutpanelBottom,BorderLayout.SOUTH);
    myDialogAbout.add(myAboutpanel);
    //sets the DialogAbout visible!
    myDialogAbout.setVisible(true);
  }


So, ich geh nun was Essen um kurz abzuschalten 😛
 
LoL wie lustig, ich musste den Absoluten Pfad eingeben nun gehts 🙂)

Danke für deine Hilfe!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben