2013-03-06 66 views
4

我试图找到一种方法来将JDialog的所有内容替换为简单的图像。 这是为我正在处理的项目的关于页面而设计的,当用户单击关于部分时,我想要一个图像以JDialog的样式弹出(并在焦点丢失时消失)。 例如:http://www.tecmint.com/wp-content/uploads/2012/08/About-Skype.jpg Skype只显示他们创建的图像作为其“关于”页面。 如何在Java(swing)中创建“图像对话框”?Java,我怎样才能弹出一个对话框只有一个图像?

回答

3

在这里,你走了,我已经注释的代码,你

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 


    } 
} 

[[老] 下面的代码会做你要找的内容。

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



    } 
} 
+0

看起来不错,但我能做些什么来去除的JOptionPane的窗口边框,使图像是唯一剩下的东西? – vejmartin 2013-03-06 22:00:32

+0

我已经为你编辑了答案。 – MeryXmas 2013-03-06 22:31:23

+0

'ImageIcon image = new ImageIcon(diceGame.class.getResource(“image.png”));''从哪里来,我的意思是明确的diceGame。为什么它不是简单的“img.class〜”,因为该类被称为? – N30 2014-05-07 11:09:13

5

我怎样才能让在Java中(摇摆) “图像对话”?

使用未修饰的JDialog包含一个ImageIcon一个JLabel:

JDialog dialog = new JDialog(); 
dialog.setUndecorated(true); 
JLabel label = new JLabel(new ImageIcon(...)); 
dialog.add(label); 
dialog.pack(); 
dialog.setVisible(true); 
相关问题