<menu id="a2esi"><strong id="a2esi"></strong></menu>
  • <nav id="a2esi"></nav>
    學校總部  | 設為首頁 | 加入收藏 | 官方微信
    內威培訓
    打造“培訓+就業”一站式服務品牌!
    banner1
    • Python+AI工程師
    • Web前端工程師
    • Java軟件開發工程師

    首頁>>學員天地

    java中JFrame的背景色和背景圖片的設置
    編輯:eamol  閱讀:2318次  發布:16-03-02

     

    /*------------------------------------背景色的設置------------------------------------------*/

    package com;

    import java.awt.Color;

    import javax.swing.JFrame;

    public class JFrameBackGround extends JFrame {
     
     //設置背景色
      public void test() 
         { 
       //設置標題
        this.setTitle("背景框架");
         //設置框架長度和寬度
             this.setSize(400,300);
             //設置坐落位置
             this.setLocation(400,300); 
             //關閉按鈕
             this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
             //設置背景色
             this.setBackground(Color.blue); 
             this.getContentPane().setBackground(Color.red); 
             this.getContentPane().setVisible(false);//如果改為true那么就變成了紅色。 
             this.setVisible(true); 
         }
     
     
     public static void main(String[] args) {
      //實例化對象
      JFrameBackGround jfbg=new JFrameBackGround();
      //背景色
    //  jfbg.test();
      

     }

    }

     

    /*----------------------------------------背景圖片的設置-----------------------------------------*/

    方法一:

    package com;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.Container;

    public class Test1 extends JFrame {

     public Test1() {
      this.setTitle("背景圖設置");
      this.setSize(300, 200);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      // 這是背景圖片
      ImageIcon img = new ImageIcon("images\\bg_pic.jpg");
      // 將背景圖放在標簽里。
      JLabel imgLabel = new JLabel(img);
      // 注意這里是關鍵,將背景標簽添加到jfram的LayeredPane面板里。
      this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
      // 設置背景標簽的位置
      imgLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
      Container cp = this.getContentPane();
      cp.setLayout(new BorderLayout());
      // 創建按鈕
      JButton but = new JButton("按鈕");
      // 將按鈕添加入窗口的內容面板
      cp.add(but, "North");
      // 注意這里,將內容面板設為透明。這樣LayeredPane面板中的背景才能顯示出來。
      ((JPanel) cp).setOpaque(false);
      this.setSize(500, 300);
      this.setVisible(true);
     }

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

    }

     

    方法二:

    package com;

    import java.awt.Container;
    import java.awt.Graphics;
    import java.awt.Image;

    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;

    public class Test extends JFrame 

        //創建一個容器 
        Container ct; 
        //創建背景面板。 
        BackgroundPanel bgp; 
         
        //創建一個按鈕,用來證明我們的確是創建了背景圖片,而不是一張圖片。 
        JButton jb;
       
        public static void main(String[] args) 
        { 
            new Test(); 
        } 
       
        public Test() 
        { 
            this.setSize(400,300); 
            this.setLocation(400,300); 
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
            //不采用任何布局方式。 
            ct=this.getContentPane(); 
            this.setLayout(null); 
             
            //在這里隨便找一張照片既可以看到測試結果。 
            bgp=new BackgroundPanel((new ImageIcon("images\\bg_pic.jpg")).getImage()); 
            bgp.setBounds(0,0,400,300); 
            ct.add(bgp); 
         
            this.setVisible(true); 
        } 


    class BackgroundPanel extends JPanel 

        Image im; 
        public BackgroundPanel(Image im) 
        { 
            this.im=im; 
            this.setOpaque(true); 
        } 
        //Draw the back ground. 
        public void paintComponent(Graphics g) 
        { 
            super.paintComponents(g); 
            g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this); 
             
        } 

     

     



    上一篇: java中Frame框架關閉按鈕和框架居中的設置方法   下一篇: 沒有了
    返回列表
    網絡大專、自考本科,學歷輕松拿!
    ©2016-2020 上海內威職業技能培訓學校 版權所有
    普陀區武寧路1500號中樓2-3層(郵編:200062)
    咨詢:021-62434966  合作:021-13371929650  就業:021-62434966  傳真:  電郵:service@snetway.com
    《中華人民共和國電信與信息服務業務》經營許可證滬ICP備15002602號 
    <menu id="a2esi"><strong id="a2esi"></strong></menu>
  • <nav id="a2esi"></nav>
    本溪娱网棋牌