import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class MainJFrame extends JFrame { public MainJFrame() { //設置標題 super("JFram設置背景圖片(Cannel_2020)"); //設置大小 setSize(500, 400); //設置位置 setLocation(200, 50); //背景圖片的路徑。(相對路徑或者絕對路徑。本例圖片放於"java項目名"的文件下) String path = "background.jpg"; // 背景圖片 ImageIcon background = new ImageIcon(path); // 把背景圖片顯示在一個標簽里面 JLabel label = new JLabel(background); // 把標簽的大小位置設置為圖片剛好填充整個面板 label.setBounds(0, 0, this.getWidth(), this.getHeight()); // 把內容窗格轉化為JPanel,否則不能用方法setOpaque()來使內容窗格透明 JPanel imagePanel = (JPanel) this.getContentPane(); imagePanel.setOpaque(false); // 把背景圖片添加到分層窗格的最底層作為背景 this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE)); //設置可見 setVisible(true); //點關閉按鈕時退出 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new MainJFrame(); } }
運行結果