`
qilixiang012
  • 浏览: 203615 次
文章分类
社区版块
存档分类
最新评论

paint方法和paintComponent的区别

 
阅读更多
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了。
分享到:
评论

相关推荐

    java paintComponent 拖拽操作

    java 实现的纯paint流界面 实现了拖拽操作

    JAVA实现贪吃蛇游戏毕业设计(源代码+论文)

    三种不同的食物在被毒液吃...在该类中通过方法paintComponent(Graphics g)来调用该类中的所有paint方法,进行绘图。 在该类中通过方法keyPressed(KeyEvent e)来调用该类中的所有Response方法,进行对键盘的监听和响应。

    PintandoAndo:实用的paintComponent

    PintandoAndo:实用的paintComponent

    Java开发的五子棋系统

    3、 DrawPanel中覆盖paintComponent方法来进行绘制。 绘制15*15网格的棋盘, 绘制前先定义边距、行数、列数、网格宽度等常量 4、 定义Chess类,包括x,y索引, 颜色。 定义构造函数和相应的get方法。 5、 在DrawPanel...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    对象的使用包括引用对象的成员变量和方法,通过运算符·可以实现对变量的访问和方法的调 用,变量和方法可以通过设定一定的访问权限(见下面的例子)来允许或禁止其它对象对它的 访问。 我们先定义一个类 Point。 例子...

    自定义Button

    自定义Button,利用paintComponent方法。

    基于Java Swing的推箱子游戏

    这是一个基于Java Swing的推箱子游戏。游戏界面由一个名为PushBoxGame的类实现,其中包含了游戏的迷宫布局信息以及方块的移动...游戏的绘制通过重写paintComponent方法实现。运行程序后,即可显示出推箱子游戏的界面。

    通讯录管理系统 Java设计 源程序

    * 重写paintComponent方法 */ public class DAO { private static DAO dao=new DAO(); // 创建DAO对象 public DAO(){ try { Class.forName("com.mysql.jdbc.Driver"); // 加载数据库驱动类 } catch ...

    魔板游戏Java课程设计报告.doc

    PuzzleFrame类的主要成员的作用将在后面的详细设计中阐述,Puzzle Frame类主要成员变量(属性)和主要方法如表3-1、3-2所示。 "成员变量描述 "变量类型 "名称 " "魔板 "PuzzlePad "PuzzlePad " "开始游戏的按钮 ...

    java中透明窗口 再也不用局限于矩形窗口了

    //继承的绘制组件方法 Graphics2D gg=(Graphics2D)g; if(imageIcon !=null){//绘制背景 gg.drawImage(imageIcon.getImage(),0,0,f.getWidth(),f.getHeight(),f); } } }; p.setLayout(null);...

    带图片背景的面板

    import javax.swing.*;... } public void paintComponent(Graphics g) { g.drawImage(myimage,0,0,myimage.getWidth(this),myimage.getHeight(this),Color.red,this); super.paintComponent(g); } }

    java开发爱心代码示例,开发代码的步骤解析

    public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d....

    java项目-俄罗斯方块

    * paint方法实际上把绘图的主要工作委派给paintComponent方法等方法 */ public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(frontColor); for (int i = 0; i ; i++) { ...

    Java在窗口上加载显示GIF动画图像.rar

     public void paintComponent(Graphics g) { //重载组件绘制方法   super.paintComponent(g); //调用父类函数   images[currentImage].paintIcon(this,g,70,0); //绘制图标   currentImage=(currentImage 1)%...

    五子棋代码

    public void paintComponent Graphics g { super paintComponent g ; Font f new Font "宋体" Font BOLD 22 ; g setFont f ; g drawString "五子棋)" 10 30 ; f new Font "楷体 ...

    draws 10 random filled shapes in random positions.

    Method paintComponent should contain a loop that iterates 10 times. In each iteration, the loop should determine whether to draw a rectangle or an oval, and choose coordinates and dimensions at ...

    Java图形填充实例.rar

    JAva对绘制出的图形进行填充的一个例子,包括了图形绘制和图形填充两个模块功能的演示,  super.paintComponent(g); //调用父类的绘制组件方法  Graphics2D g2D = (Graphics2D)g;  setBackground(Color.white)...

    俄罗斯方块

    // 生成新方块的方法 public void newblock() { blockType = (int) (Math.random() * 1000) % 7; turnState = (int) (Math.random() * 1000) % 4; x = 4; y = 0; if (gameover(x, y) == 1) { newmap(); ...

    仿QQ登录窗体,拉伸展开!

    public void paintComponent(Graphics g) { g.drawImage(new ImageIcon("image\\logintop1.jpg").getImage(), 0, 0,500,48, null); super.paintComponent(g); } };//标题栏panel topPanel....

    Relogio-JAVA:具有图形界面的JAVA时钟

    看JAVA 使用PaintComponent API的JAVA时钟,用其指针绘制时钟以显示当前时间。

Global site tag (gtag.js) - Google Analytics