2010-04-26 88 views
1

我們如何使用Java Swing在主JFrame內部創建一個帶有背景圖像的主JFrame和一個JFrame?如何在JFrame中創建JFrame?

+2

我有一個[飲水問題(http://i51.photobucket.com/albums/f380/allelse/anythingelse/airplane1213112.jpg) – 2010-04-26 21:27:03

+3

笑樂趣,但無奈:) – Eddinho 2010-04-26 21:35:24

+1

我想你的意思是無益的: P – 2010-04-26 21:55:33

回答

2

我相信你正在尋找internal frames

對於背景圖像位,子類JPanel覆蓋其paintComponent()方法,並在此處將圖像曝光。然後將該面板的一個實例設置爲JFrame的內容窗格。

public class BackgroundPanel extends JPanel { 
    private BufferedImage bgImg; 

    public BackgroundPanel() { 
     try { 
      bgImg = ImageIO.read(BackgroundPanel.class.getResourceAsStream(
        "mybackgroundimage.png")); 
     } catch (IOException ex) { 
      System.err.println("Could not load background image!"); 
      ex.printStackTrace(); 
     } 
    } 

    @Override 
    protected void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     if (bgImg != null) { 
      g.drawImage(bgImg, 0, 0, null); 
     } 
    } 
} 

public class MyJFrame extends JFrame { 

    public MyJFrame() { 
     setContentPane(new BackgroundPanel()); 
    } 

}