2014-02-23 86 views
-2
import java.awt.*; 
import javax.swing.*; 
import java.awt.Color; 
import javax.swing.JPanel; 

public class FirstFrame extends JFrame { 

    // FirstFrame properties 

    public FirstFrame() { 

     setTitle("Stacker"); 
     setLayout(new GridBagLayout()); 
     setSize(380, 650); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
     setUndecorated(true); 
     setVisible(true); 
     setResizable(true); 

     JLabel background = new JLabel(new ImageIcon("fw.jpg")); 
     background.setLayout(new BorderLayout()); 
     add(background); 

    } 

    public static void main(String[] args) { 
     new FirstFrame(); 
    } 
} 

好吧,现在我有框架undecorated ..(谢谢你们)我试图把框架的背景图像。但是当我运行它时,它显示的只是一个空白帧。
有什么不对?如何纠正?在JFrame中放置背景图像

+0

它可能是因为ImageIcon的找不到路径的“fw.jpg”。这个“fw.jpg”文件位于哪里? –

+0

在部署时,这些资源可能会变成[tag:embedded-resource]。在这种情况下,资源必须通过'URL'而不是'File'访问。查看标签的[info page](http://stackoverflow.com/tags/embedded-resource/info),以获得一个“URL”。 –

回答

1

您可能无法在正确的位置查找图像。如果您要将图像作为文件(您当前正在尝试执行)查找,则需要相对于用户的目录进行此操作,该目录可通过System.out.println(System.getProperty("user.dir"))找到。如果您打算将其作为资源来查找,则需要根据类文件位置查找它。这一切都将在本网站上进行讨论并进行无限更新。请再搜索一下。

2

请考虑做以下事情..
1.在setVisible(true)之前添加JLabel,背景。事实上,将setVisible作为构造函数的最后一行。
2.然后试图让图像
的getClass()。的getResource(imgPath)
设置图像