为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

关于JPanel设置背景图片的Bug说明我在故我思百度空间

2017-09-01 2页 doc 13KB 19阅读

用户头像

is_731942

暂无简介

举报
关于JPanel设置背景图片的Bug说明我在故我思百度空间关于JPanel设置背景图片的Bug说明我在故我思百度空间 关于JPanel设置背景图片的Bug说明 Panel可以像网页控件一样设置背景图片,主要是通过覆写JPanel的 paint(Graphics g)方法和paintComponent(Graphics g)方法; 但是二者有区别: “ JLabel类同其它的Swing组件一样,继承至javax.swing.Jcomponent.Swing。它们都是通过调用JComponent组件的paint方法来画界面。我们可以通过重载JComponent的公开方法pai...
关于JPanel设置背景图片的Bug说明我在故我思百度空间
关于JPanel设置背景图片的Bug说明我在故我思百度空间 关于JPanel设置背景图片的Bug说明 Panel可以像网页控件一样设置背景图片,主要是通过覆写JPanel的 paint(Graphics g)方法和paintComponent(Graphics g)方法; 但是二者有区别: “ JLabel类同其它的Swing组件一样,继承至javax.swing.Jcomponent.Swing。它们都是通过调用JComponent组件的paint方法来画界面。我们可以通过重载JComponent的公开方法paint来修改一个组件画界面的行为。下面是一个JComponent的paint方法的定义。 public void paint(Graphicsg) 作为paint方法的参数传进来的对象Graphics是一个绘图面板。为了优化绘图这个操作,paint方法被分割成三个具有保护(protected)属性的方法:paintComponent, paintBorder, paintChildren。paint方法调用这三个方法同时将它接受到的Graphics实例传递给这三个方法。 根据以上所说的,如果你想重画SWING的外观话就应该根据你要画的内容选择到底是重写paintComponent或paintBorder或paintChildren方法。如果同时重写了paint与paintComponent方法的话,则只会调用paint方法,而不执行paintComponent了。 ” 所以: 通用的添加背景的方法可以是: protected void paint(Graphics g) { try { BufferedImage img = ImageIO.read(My_Auditor_JPanel.class.getResource("/images/aa.jpg")); g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), null); } catch (IOException e) { e.printStackTrace(); } } 和: protected void paintComponent(Graphics g) { try { BufferedImage img = ImageIO.read(My_Auditor_JPanel.class.getResource("/images/aa.jpg")); g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), null); } catch (IOException e) { e.printStackTrace(); } } //但是推荐第二种方法;否则第一种方法可能导致背景图片遮盖住面板的其他控件。 //第二种覆写 paintComponent(Graphics g)则不会~
/
本文档为【关于JPanel设置背景图片的Bug说明我在故我思百度空间】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索