源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jpanel设置背景图片的二个小例子

  • 时间:2021-12-31 17:01 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jpanel设置背景图片的二个小例子
这个Jpanel可以动态加载一个图片做背景
[u]复制代码[/u] 代码如下:
import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JPanel; /**  * 一个可以动态加载一个图片做背景的Jpanel  */ public class ImagePanel extends JPanel{  Image im;  //构造函数制定Jpanel的大小  public ImagePanel(Image im) {   this.im = im;   //希望该Panel的大小事自适应的   int width = Toolkit.getDefaultToolkit().getScreenSize().width;   int height = Toolkit.getDefaultToolkit().getScreenSize().height;   this.setSize(width,height);  }  //画出背景  @Override  protected void paintComponent(Graphics g) {   // 清屏   super.paintComponent(g);   g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);  } }
JPanel面板中设置背景图片的另外一个例子
[u]复制代码[/u] 代码如下:
import java.awt.*; import javax.swing.*; public class Demo extends JFrame {     public Demo()     {      super("Title");      NewPanel p = new NewPanel();      this.getContentPane().add(p); //将面板添加到JFrame上      this.setSize(596,298); //初始窗口的大小      this.setLocationRelativeTo(null); //设置窗口居中      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      this.setVisible(true);     }     public static void main(String[] args)     {      new Demo();     }     class NewPanel extends JPanel    {      public NewPanel()      {      }      public void paintComponent(Graphics g)      {         int x=0,y=0;         java.net.URL imgURL=getClass().getResource("test.jpg");         //test.jpg是测试图片,与Demo.java放在同一目录下         ImageIcon icon=new ImageIcon(imgURL);         g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);         while(true)         {           g.drawImage(icon.getImage(),x,y,this);           if(x>getSize().width && y>getSize().height)break;           //这段代码是为了保证在窗口大于图片时,图片仍能覆盖整个窗口           if(x>getSize().width)           {              x=0;              y+=icon.getIconHeight();           }           else            x+=icon.getIconWidth();         }      }    } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部