Java, how can I pop up a dialog as soon as an image?

I am trying to find a way to replace the entire contents of JDialog with a simple image. This is for the page about the project I'm working on, and I want, when the user clicks on the "About" section, a JDialog-style image for the popup (and disappears when the focus is lost). Example: http://www.tecmint.com/wp-content/uploads/2012/08/About-Skype.jpg There Skype displays only the image that they created as their "About" page. How can I create an "image dialog" in Java (swing)?

+4
source share
3 answers

How can I create an "image dialog" in Java (swing)?

Use unshared JDialog with JLabel containing ImageIcon:

JDialog dialog = new JDialog(); dialog.setUndecorated(true); JLabel label = new JLabel( new ImageIcon(...) ); dialog.add( label ); dialog.pack(); dialog.setVisible(true); 
+6
source
 BufferedImage image = ImageIO.read(new File("myfile.png")); JLabel picLabel = new JLabel(new ImageIcon(image)); JOptionPane.showMessageDialog(null, picLabel, "About", JOptionPane.PLAIN_MESSAGE, null); 
+3
source

Here you go, I annotated the code for you

 import javax.swing.JOptionPane; //imports import javax.swing.JLabel; import javax.swing.JFrame; import javax.swing.ImageIcon; import java.awt.Toolkit; import java.awt.Dimension; public class img{ public static void main(String[] args){ JFrame f = new JFrame(); //creates jframe f Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); //this is your screen size f.setUndecorated(true); //removes the surrounding border ImageIcon image = new ImageIcon(diceGame.class.getResource("image.png")); //imports the image JLabel lbl = new JLabel(image); //puts the image into a jlabel f.getContentPane().add(lbl); //puts label inside the jframe f.setSize(image.getIconWidth(), image.getIconHeight()); //gets h and w of image and sets jframe to the size int x = (screenSize.width - f.getSize().width)/2; //These two lines are the dimensions int y = (screenSize.height - f.getSize().height)/2;//of the center of the screen f.setLocation(x, y); //sets the location of the jframe f.setVisible(true); //makes the jframe visible } } 

[[STAR]] The code below will do what you are looking for.

 import javax.swing.JOptionPane; import javax.swing.JLabel; import javax.swing.ImageIcon; public class img{ public static void main(String[] args){ JLabel lbl = new JLabel(new ImageIcon(diceGame.class.getResource("image.png"))); JOptionPane.showMessageDialog(null, lbl, "ImageDialog", JOptionPane.PLAIN_MESSAGE, null); } } 
+3
source

All Articles