`
逍遥虎
  • 浏览: 4396 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Component中的paintComponent()

阅读更多
重写JComponent这个父类的paintComponent()方法是要注意了,java里面的paint()方法不是由用户调用的,而是

由虚拟机系统调用的,paintComponent()也是一样。在实现自己的绘制方案时,因为你的类是从JPanel继承而来

的,相当于这个类本身就保存了JPanel的一个引用。当你重写paintComponent()方法时,为了确保在此期间,父

类JPanel能把自己的paintComponent()方法运行完,就要调用super.paintComponent()然后再运行你自己的

paintComponent();
否则就有可能出现的情况是,父类JPanel自己还没有绘制完,程序已经开始绘制子类的了。
分享到:
评论

相关推荐

    Swing框架定制Component

    本文旨在深入探讨Swing框架中Component的定制方法,特别是GUI的绘制机制以及Swing的线程处理机制。 #### 1. Swing组件的基本概念 在Swing中,所有可视化的组件都是`Component`类的子类或孙类。Swing的核心类`...

    PintandoAndo:实用的paintComponent

    首先,`paintComponent`方法是`javax.swing.JComponent`类的一部分,它继承自`java.awt.Component`。这个方法是Java GUI应用程序中绘制图形的基础,因为它允许程序员在组件上绘制自定义的图形。当你需要在屏幕上绘制...

    java鼠标事件--正弦曲线

    这通常涉及到在Graphics2D对象上绘制线条或曲线,而这个对象可以从Component类的paintComponent()方法中获得。当鼠标按下并移动时,我们可以获取鼠标的当前位置,然后用这些坐标来计算对应的正弦值,从而更新画布上...

    神奇的paint方法

    另外,为了确保组件的正确绘制,通常需要在`paintComponent`中先调用`super.paintComponent(g)`,以便父类可以执行必要的初始化工作。 `ChartTest.java`可能还涉及到了数据模型和视图的分离,即使用MVC(Model-View...

    Java贪吃蛇

    这通常在Component的paintComponent方法中完成,该方法会重绘组件的图形内容。 5. **数据结构**:贪吃蛇的身体通常会用数组或链表等数据结构来表示,以便于追踪蛇的每个部分和移动状态。 6. **循环与条件判断**:...

    java单机五子棋示例 使用jigloo

    在Swing中,可以利用Component的paintComponent方法进行自定义绘图,实现棋盘的绘制以及棋子的渲染。 在`PanelFiveChess.java`和`FrmFiveChess.java`这两个文件中,我们可能找到了以下关键组件: 1. **...

    坦克大战游戏源码.素材.文档

    开发者需要掌握如何在Component的paintComponent()方法中进行绘制,并通过重绘(repaint())来实现动态效果。 4. **多线程**:为了实现游戏的实时性,通常会使用多线程技术。一个线程负责游戏逻辑的更新,如坦克的...

    RetroSnaker.zip

    Java中的Graphics类和Component的paintComponent方法是实现这一功能的关键。 4. **游戏逻辑**:蛇的移动、增长、碰撞检测等都是游戏的核心逻辑。例如,每吃一次食物,蛇的长度增加,得分增加;蛇的移动速度可能会...

    java 游戏血战南中国海-原码

    游戏界面可能包括游戏地图、角色、UI元素等,通过重写Component的paintComponent方法进行绘制。此外,Java的定时器(Timer)常用来实现帧率控制,确保游戏画面平滑更新。 “浮动字幕”通常指的是游戏中动态显示的...

    创\DrawingPanel

    3. **重写`paintComponent()`**:在JPanel或Component子类中,`paintComponent(Graphics g)`方法是用于实际绘制图形的地方。`Graphics`对象是Java提供的接口,用于在屏幕上绘制图形,包括线条、文本、图像等。 4. *...

    Java生成自定义控件源代码.rar

    首先,我们需要理解Java中的组件(Component)和容器(Container)的概念。组件是构成用户界面的基本元素,如按钮、文本框等,而容器则可以容纳一个或多个组件,比如窗口(JFrame)和面板(JPanel)。自定义控件通常...

    JAVA小游戏

    学习者需要掌握如何在Component的paintComponent()方法中使用Graphics对象进行画线、填充形状、绘制图片等操作,以实现游戏元素的动态显示。 5. **碰撞检测**:游戏的核心部分之一是碰撞检测,即判断游戏对象是否...

    画图工具 java实现

    在Java中,我们通常在Component或Canvas类的子类中重写`paint()`或`paintComponent()`方法来实现自定义绘图。在描述中提到的`Paint1.java`, `Paint2.java`, 和 `Paint3.java` 文件很可能包含了这些关键的绘图逻辑。 ...

    GraphsWithJavaSwing:一个项目中的所有 T3 练习

    我们可以在Component的paintComponent()方法中使用Graphics2D对象进行绘制,如线条、形状、文本以及图像等。为了确保图形正确显示,我们通常需要重写paintComponent()方法,并调用super.paintComponent(g)来完成基本...

    java画图程序,java编程

    同时,AWT中的Component类和Canvas类可以作为画布,我们在其上实例化Graphics对象进行画图。 Swing是建立在AWT之上的一个更高级的GUI库,它提供了更丰富的组件和更好的外观。Swing中的JFrame、JPanel、JComponent等...

    java中画带箭头的线

    1. 创建一个图形上下文:在Java中,通常在Component的`paintComponent(Graphics g)`方法中进行图形绘制。`g`参数就是Graphics对象,代表了当前组件的绘图上下文。 2. 绘制线段:使用`g.drawLine(x1, y1, x2, y2)`...

    Java GUI 绘制出三角形

    为了在GUI中绘制三角形,我们需要创建一个继承自`java.awt.Component`的自定义类,并重写`paintComponent()`方法。在这个方法里,我们可以利用`Graphics`对象的`drawPolygon()`方法来绘制三角形。 以下是一个简单的...

    java簡單繪圖

    在Java编程语言中,绘图是一项基础且实用的技能,特别是在创建GUI(图形用户界面)应用或者进行数据可视化时。本资源"java簡單繪圖"提供了关于如何在Java环境中进行基本绘图的知识点,这对于初学者和有经验的开发者...

    Demo.rar_DEMO_java画笔粗细

    1. **创建Graphics2D对象**:在Java中,我们通常从`Component`类的`paintComponent(Graphics g)`方法中获取`Graphics`对象。然后,我们可以将`Graphics`对象转换为`Graphics2D`,以便使用更高级的绘图特性: ```...

    JAVA GUI程序设计还用该层次结构图中所列的类PPT教案学习.pptx

    - `Graphics`类提供了基本的绘图功能,如绘制线、矩形、文本等,它与`Component`的`paint`和`paintComponent`方法一起使用。 4. **事件处理机制**: - Java采用委托事件模型,事件源(如按钮)产生事件,事件监听...

Global site tag (gtag.js) - Google Analytics