`
androider
  • 浏览: 748544 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Swing学习笔记之swing渲染基本原理

阅读更多

主要内容:事件,绘制,渲染,双缓冲,线程

 

一、 事件

 

1、事件来源:本地系统,应用程序本身

2、所有的事件都存储在一个队列里面

3、Java.awt.EventQueue从队列中取数据并派发,EventQueue的派发机制由单独的线程EDT(Event Dispatch Thread)处理。

 

二、绘制

 

1、绘制请求发起:awt或者swing本身、对swing发起请求

2、异步重绘请求:所有异步请求都是repaint()的变体,包括整个组建的绘制和组建某个区域的绘制

3、同步绘制请求:Jcomponent.paintImmediately()和Component.paint()

 

三、渲染

 

1、画家算法

2、paintComponent()

3、paint()

4、setpaque()

 

四、双缓冲

 

五、线程

1、swing线程包括:主线程(应用程序的主方法),工具包线程(扑获系统事件),EDT(将扑获的线程派发)

2、线程模型:单一的规则,所以要遵从此规则,尽量将事件让EDT进行派发。

3、invokeLater()

4、isEventDispatchThread()

5、invokeAndWait

 

六、定时器和事件派发

 

1、java.util.Timer

2、javax.swing.Timer

 

七、SwingWorker

1、done()

2、doInBackground()

3、get

4、process

 

分享到:
评论

相关推荐

    swing界面设计之JTree

    #### (十七) Swing 学习笔记 **Swing API 包括18个公共包**:涵盖了Swing中各种组件、布局管理器等。 - **例程1.1 HelloWorldSwing.java**:最简单的Swing程序示例。 - **例程2.2 HelloWorldJFrame.java**:...

    狂神说Java学习笔记-GUI

    【Java GUI】(图形用户界面,Graphical User Interface)是Java编程中不可或缺的一部分,...对于初学者来说,"狂神说Java学习笔记"将是一个宝贵的资源,其中包含的源代码和图片能够直观地展示如何将理论转化为实际应用。

    extjs 的一些学习笔记

    【ExtJS 学习笔记概览】 ExtJS 是一个强大的JavaScript 框架,主要用于构建富客户端的Web应用程序。它的核心特性包括丰富的组件库、强大的数据包管理、灵活的布局系统以及面向对象的编程模型。以下是对ExtJS 入门...

    包括一些学习笔记,案例,后期还会添加java小游戏.zip

    在本压缩包“包括一些学习笔记,案例,后期还会添加java小游戏.zip”中,我们可以找到一系列与Java编程相关的学习资源,特别关注的是游戏项目的源代码,这些资源对于进行毕业设计、课程设计或个人技能提升非常有帮助...

    JFreeChart学习笔记

    **JFreeChart学习笔记** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件、Applet或Web应用中创建各种复杂的图表。这篇笔记将深入探讨JFreeChart的核心概念、使用方法以及常见图表类型,帮助...

    Jfreechart学习笔记2-简单bar图形创建

    3. 设置3D渲染器属性:你可以调整3D渲染器的参数,如深度、阴影等,以达到预期的视觉效果。 4. 其他设置与2D图表类似,如添加图例、定制颜色等。 在实际开发中,你可能还需要考虑以下几点: - 数据动态更新:如果...

    Jfreechart学习笔记1-简单Pie图形创建

    **JFreeChart学习笔记1 - 简单Pie图创建** 在Java开发中,我们经常需要展示数据,而饼图(Pie Chart)是一种常见的数据可视化工具,尤其适用于展示各项比例关系。JFreeChart是一个强大的开源Java图表库,它提供了...

    JfreeChart 学习笔记

    ### JfreeChart 学习笔记:深度解析与应用 #### JFreeChart概览与核心功能 JFreeChart作为一款开源的JAVA项目,专为图表开发而设计,支持丰富的图表类型,包括饼图、柱状图(含普通及堆栈柱状图)、线图、散点图、...

    java 笔记本

    3. **Markdown支持**:许多笔记应用允许使用Markdown语法来格式化文本,Java中可以使用库如Pandoc或CommonMark来解析和渲染Markdown。 4. **代码编辑器组件**:构建一个编程笔记本,需要一个强大的代码编辑器组件,...

    Java笔记.txt

    虽然 Java 不直接使用 GDI 来渲染图形,但在使用 AWT 和 Swing 时,最终可能需要调用到 GDI。 ### 4. Java 数据类型 **基本数据类型**:Java 支持多种基本数据类型,例如: - `long`: 64 位整型 - `int`: 32 位...

    狂神说全部笔记内容.zip

    【狂神说全部笔记内容.zip】是一个包含了狂胜学习资源的笔记集合,主要涉及Java、HTML和Vue这三种核心技术的详细讲解。这个压缩包显然是一份丰富的学习资料,旨在帮助学习者深入理解并掌握这些IT领域的核心知识。 ...

    Java游戏编程读书笔记

    在深入探讨Java游戏编程的世界之前,我们先要理解Java作为一种...文档中的内容可能涵盖了Java游戏开发的基本原理、代码示例、最佳实践以及常见问题的解决方案。通过深入学习和实践,你将具备创建自己Java游戏的能力。

    Java坦克大战+各开发过程版本+笔记

    本篇将详细介绍Java坦克大战的开发过程、关键技术和学习笔记。 首先,我们要理解Java坦克大战的基本架构。游戏通常由以下几个核心部分组成:游戏主循环、图形渲染、用户输入处理、物理引擎和游戏逻辑。在Java坦克...

    java-game-.rar_java游戏素材

    "java-game-.rar" 是一个针对Java初学者或爱好者提供的游戏素材压缩包,其中包含了坦克游戏的源码、相关文档以及素材,旨在帮助学习者了解和掌握Java游戏开发的基本原理和技巧。 首先,让我们深入探讨Java游戏开发...

    《JavaFx本质论》读书笔记1(1-2章)

    总的来说,通过《JavaFx本质论》的前两章,读者将对JavaFX的背景、基本概念和核心功能有全面的了解,为进一步学习和实践JavaFX的高级特性打下坚实基础。阅读过程中,配合实际的代码示例和项目的实践,能更好地掌握这...

    Java 贪吃蛇游戏源代码

    图形渲染:使用 Swing 库进行图形渲染。 游戏逻辑:处理蛇的移动、苹果的生成和碰撞检测。 数据库连接:使用 JDBC 连接 MySQL 数据库,存储和检索玩家分数。 Java 版贪吃蛇游戏完全使用 Java 构建,并具有功能齐全的...

    Java的画图程序源码

    通过阅读和分析这个源码,学习者可以深入理解Java绘图的原理和实践技巧。 总之,Java的画图程序源码学习不仅涵盖了基本的绘图API,还包括了图形学的一些概念,是提升Java GUI编程能力的一个好途径。通过实际操作和...

    Java小游戏之愤怒的小鸟.zip

    5. **动画与渲染**:为了使游戏更生动,需要进行帧动画和渲染处理。 6. **碰撞检测**:检测小鸟和猪头之间的碰撞,以确定得分和游戏进程。 【压缩包子文件的文件名称列表】: 1. **a.txt**:这可能是一个说明文档,...

    JAVA画图形学(l文+源代码).zip

    2. **Java Swing**:Swing是建立在AWT之上的轻量级组件库,提供了更丰富的用户界面元素和更好的跨平台外观。Swing有自己的`Graphics2D`类,扩展了AWT的图形功能,支持更多高级的绘图特性,如抗锯齿、透明度和几何...

    JAVA打飞机游戏设计与实现(文+源代码).zip

    这涉及到键盘监听、鼠标监听等,学习者需要理解ActionListener、MouseListener等接口的工作原理。 4. **多线程**:打飞机游戏通常涉及多个独立运行的任务,如玩家飞机的移动、敌机的生成、子弹的发射等。Java的...

Global site tag (gtag.js) - Google Analytics