javax.swing.JComponent 调用顺序
网上截取的,感觉挺有用,记录下来。
http://bbs.csdn.net/topics/310041707
java swing 感觉好复杂啊…………一点都不想用但是作业要用到 >_<;
javax.swing.JComponent类中
repaint()调用update()
update()调用paint()
paint()调用paintComponent(),paintBorder(),及paintChildren()
附代码
package com.test;
import java.awt.Color;
import java.awt.Graphics; import javax.swing.JFrame;
import javax.swing.JPanel; public class GamePanel extends JPanel{ private static final long serialVersionUID = 1L;
public GamePanel(){ } public void display(){
System.out.println("GmaePanel - display"); this.repaint();
} @Override
protected void paintComponent(Graphics g) { System.out.println("GamePanel - ------------paintComponent"); g.setColor(new Color(0xcfcfcf));
} @Override
public void paint(Graphics g) {
System.out.println("GamePanel - ------------paint");
super.paint(g);
} @Override
public void update(Graphics g) {
System.out.println("GamePanel - ------------update");
super.update(g);
} public static void main(String[] args){
JFrame frame = new JFrame();
frame.setSize(300,300);
GamePanel gp = new GamePanel();
frame.add(gp);
frame.setVisible(true);
gp.display();
}
}
javax.swing.JComponent 调用顺序的更多相关文章
- The type javax.swing.JComponent cannot be resolved. It is indirectly referenced from required .class files
一段简单程序, frame.add(lbl);出现 问题. 也不知道为什么就是这里, 而我Ctrl + Shift + T 确实也是没有发现 JComponent . public void disp ...
- javax.swing.Timer
javax.swing 类 Timer java.lang.Object javax.swing.Timer 所有已实现的接口: Serializable public class Timerexte ...
- java SWing事件调用的两种机制
Java(91) /** * java swing中事件调用的两种机制: * (一)响应机制 * (二)回调机制 */ package test; import java.awt.*; impo ...
- AsyncTask内的各个方法调用顺序
|- AsyncTask内的各个方法调用顺序:|- 首先,用户调用execute方法,启动AsyncTask .然后在execute方法中:|- 首先调用onPreExecute方法,执行初始化操作. ...
- initcall调用顺序
在解释initcall调用顺序, 先要理一下编译链接的知识. 每个.o文件都有自己的代码段, 数据段(存放初始化的全局变量), bss段(即未初始化的数据段) 在ld链接器将各.o文件的代码段和数据段 ...
- C++继承,多重继承,虚继承的构造函数以及析构函数的调用顺序问题
#include <iostream> using namespace std; class A{ int data_a; public: A(){ data_a = ; cout < ...
- UITableView 接口的调用顺序
ios7启用estimatedHeightForRowAtIndexPath之后的api调用顺序called -[XHYTableViewController tableView:heightForR ...
- C++C++中构造函数与析构函数的调用顺序
http://blog.csdn.net/xw13106209/article/details/6899370 1.参考文献 参考1: C++继承中构造函数.析构函数调用顺序及虚函数的动态绑定 参考2 ...
- C++类构造析构调用顺序训练(复习专用)
//对象做函数参数 //1 研究拷贝构造 //2 研究构造函数,析构函数的调用顺序 //总结 构造和析构的调用顺序 #include "iostream" using namesp ...
随机推荐
- Q394 字符串解码
给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次.注意 k 保证为正整数. 你可 ...
- python爬虫之urllib库(三)
python爬虫之urllib库(三) urllib库 访问网页都是通过HTTP协议进行的,而HTTP协议是一种无状态的协议,即记不住来者何人.举个栗子,天猫上买东西,需要先登录天猫账号进入主页,再去 ...
- Oracle触发器简单使用记录
在ORACLE系统里,触发器类似函数和过程.1.触发器类型:(一般为:语句级触发器和行级触发器.) 1).DML触发器: 创建在表上,由DML事件引发 2).instead of触发器: 创建在视图上 ...
- Mathematica多元隐函数作图
例: ContourPlot3D[ 1/x + 1/y + 1/z == 1/10, {x, 最小值, 最大值}, {y, 最小值, 最大值}, {z, 最小值, 最大值}]
- 使用Redis实现锁(支持分布式应用)(整理网络资料)
使用Redis实现锁(支持分布式应用) 1. 简介 使用Redis指令setnx.expire.getset等操作实现互斥资源的访问 本文内容来着网络整理,参考: http://www.linu ...
- Apache-jmeter3.3安装
一.首先检查机子上是否有安装jdk 检查方式,在cmd中输入java,出现如下信息,即已经安装好jdk 若未安装jdk,则看如下步骤 步骤一: 1.下载jdk,到官网下载jdk,地址:http://w ...
- 008-PageBean类模板
1 PageBean模板一 package ${enclosing_package}; import java.util.ArrayList; import java.util.List; publi ...
- SQL Developer 改成英文
- Navicat 大小写
1.找到数据库表的存在位置 比如我的是C:\ProgramData\MySQL\MySQL Server 5.7\Data\tinysdpm 2.修改小写的表名称 比如customer_type.fr ...
- 使用 Python 管理 Azure:基础配置
Azure 提供了丰富的 Python SDK 来对 Azure 进行开发管理,包括使用 Azure 的开源框架在 Azure 上创建 web 应用程序,对 Azure 的虚拟机,存储等进行管理,本系 ...