2014-02-23 88 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)
設置圖像