【Swing】 paintImmediately 的效率问题若干

Java > Java SE [问题点数:200分,结帖人raistlic]
等级
本版专家分:5782
结帖率 100%
等级
本版专家分:86748
勋章
Blank
GitHub 绑定GitHub第三方账户获取
Blank
进士 2013年 总版技术专家分年内排行榜第六
Blank
银牌 2013年3月 总版技术专家分月排行榜第二
Blank
红花 2014年2月 Java大版内专家分月排行榜第一
2013年8月 Java大版内专家分月排行榜第一
2013年5月 Java大版内专家分月排行榜第一
2013年4月 Java大版内专家分月排行榜第一
2013年3月 Java大版内专家分月排行榜第一
2013年2月 Java大版内专家分月排行榜第一
等级
本版专家分:86748
勋章
Blank
GitHub 绑定GitHub第三方账户获取
Blank
进士 2013年 总版技术专家分年内排行榜第六
Blank
银牌 2013年3月 总版技术专家分月排行榜第二
Blank
红花 2014年2月 Java大版内专家分月排行榜第一
2013年8月 Java大版内专家分月排行榜第一
2013年5月 Java大版内专家分月排行榜第一
2013年4月 Java大版内专家分月排行榜第一
2013年3月 Java大版内专家分月排行榜第一
2013年2月 Java大版内专家分月排行榜第一
等级
本版专家分:86748
勋章
Blank
GitHub 绑定GitHub第三方账户获取
Blank
进士 2013年 总版技术专家分年内排行榜第六
Blank
银牌 2013年3月 总版技术专家分月排行榜第二
Blank
红花 2014年2月 Java大版内专家分月排行榜第一
2013年8月 Java大版内专家分月排行榜第一
2013年5月 Java大版内专家分月排行榜第一
2013年4月 Java大版内专家分月排行榜第一
2013年3月 Java大版内专家分月排行榜第一
2013年2月 Java大版内专家分月排行榜第一
等级
本版专家分:86748
勋章
Blank
GitHub 绑定GitHub第三方账户获取
Blank
进士 2013年 总版技术专家分年内排行榜第六
Blank
银牌 2013年3月 总版技术专家分月排行榜第二
Blank
红花 2014年2月 Java大版内专家分月排行榜第一
2013年8月 Java大版内专家分月排行榜第一
2013年5月 Java大版内专家分月排行榜第一
2013年4月 Java大版内专家分月排行榜第一
2013年3月 Java大版内专家分月排行榜第一
2013年2月 Java大版内专家分月排行榜第一
raistlic

等级:

Swing在进行LookAndFeel切换时异常的解决方法

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.plaf.ColorUIResource cannot be cast to java.util.List at javax.swing.plaf.metal.MetalUtils.drawGradient(Unknown Source

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

主要内容:事件,绘制,渲染,双缓冲,线程   一、 事件   1、事件来源:本地系统,应用程序本身 2、所有的事件都存储在一个队列里面 ...1、绘制请求发起:awt或者swing本身、对swing发起请求 2、异步重绘请...

近日用到的Swing的一些小技巧

也不一定都是小技巧,有的是原来不知道,现在用到了就知道了的关于Swing的东西。 1.JFrame窗口最前端显示。public final void setAlwaysOnTop(boolean alwaysOnTop)。更改始终位于顶层的窗口状态。始终位于顶层的...

SwingpaintImmediately效率问题若干

Swing 重绘 repaint,updateUI区别

repaint public void repaint()重绘此组件。...注:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 。 updateUI public void updateUI()UIManager 发出

Java图形用户界面swing假死卡死问题和JTable动态刷新问题的解决方案

JTable动态刷新不及时问题求助!JTable动态刷新不及时问题求助!问题情况项目平台和工具关键代码运行截图需要解决 JTable动态刷新不及时问题求助! 问题情况 用一个线程,每隔一段时间getModel然后往model里addRow,...

Swing中的异步(repaint的延时问题)

最近使用Swing中的repaint时候发现repaint不是立即发生的 swing重绘主要有四个关键方法:paint(),repaint(),revalidate(),paintImmediately(); 而进行绘制时后它会依次调用update(),paint(),paintComponent(),...

Java Swing如何实时刷新JTextArea,以显示刚才加append的内容

<br />在代码中... 问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现这个效果,就是执行以下语句  textArea.paintImmediately(textA

怎么用swing绘图

绘画系统的演变当最初的、为JDK1.0使用的AWT API发布时,只有重量级(heavyweight)...这样的安排需要开发人员写代码的时候要考虑到很多细节问题,象重画检测(damage detection)、剪切(clip)计算、以及Z轴次序等。随着

Swing渲染基本原理<一>

事件:Swing接收和处理事件的方式是理解线程如何在Swing内部交互及理解应用程序如何与Swing和AWT事件交互的关键。在Java中,事件可以来自本地系统,如一个可见的窗体或键盘输入。也可也是Java本身,如应用程序产生...

Swing编程方面步骤之三JFrame、JPanel、paint与paintComponent的区别

参考一 关于JFrame和JPanel问题

java Swing事件分发线程

《FilthyRichClients》读完了前几个章节,现将我的体会结合工作以来从事Swing桌面开发的经验,对本书的一些重要概念进行一次 分析,对书中的一些遗漏与模糊的地方及时补充,同时使读者消除长期以来“Swing性能低、...

Swing开发之JEditorPane篇

此组件使用 EditorKit 的实现来完成其操作。对于给予它的各种内容,它能有效地将其形态变换为适当的文本编辑器种类。该编辑器在任意给定时间的内容类型都由当前已安装的 EditorKit 确定。如果将内容设置为新的 URL,...

JAVA通过Swing和socket编程实现简易点对点聊天

一、窗口的制作;因为有了myeclipse所以窗口界面的制作就不需要手工写代码了。下面是我做的效果图: ...二、界面做出来了,接下来就是写实现功能的代码了。... 首先,整理下思路,我们想实现点对点的聊天,功能像...

一个SWING拖拽的例子及简单分析

import java.awt.AlphaComposite; import java.awt.Component; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; import java.awt.Toolkit...import java.awt.datatransfer.Dat...

Java Swing 实时刷新 JtextArea 内容

在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。 问题是这个方法并不...

(转)Swing中的绘图

Swing中的绘画Swing起步于AWT基本绘画模式,并且作了进一步的扩展以获得最大化的性能以及改善可扩展性能。象AWT一样,Swing支持回调绘画以及使用repaint()促使部件更新。另外,Swing提供了内置的双缓冲(double-...

恶补Java Swing线程刷新UI机制(由浅到深的参考大佬博文)

1. java中进度条不能更新问题的研究 感谢大佬:https://blog.csdn.net/smartcat86/article/details/2226681 为什么进度条在事件处理过程中不更新,而是在完成后,从0%调到100%? 分两种情况: 1)在AWT事件线程中...

AWT和Swing中的绘画

Painting in AWT and Swing Good Painting Code Is the Key to App Performance By Amy Fowler 在图形系统中, 窗口工具包(windowing tool

Painting in AWT and Swing

original artical reference Good Painting Code Is the Key to App PerformanceBy Amy FowlerIn a graphical system, a windowing toolkit is usually responsible for providing a framework to make it

深入浅出Swing事件分发线程

FilthyRichClients》读书笔记-SwingのEDT《FilthyRichClients》读完了前几个章节,现将我的体会结合工作以来从事Swing桌面开发的经验,对本书的一些重要概念进行一次分析,对书中的一些遗漏与模糊的地方及时补充,...

java swing的拖放例子

我从java.sun.com和javaworld.com上的例子改过来的一棵文件系统树,支持拖放,CTRL+V复制文件import java.awt.AlphaComposite;import java.awt.Component;import java.awt.Graphics2D;import java.awt.Point;...

Painting in AWT and Swing(中文版)

Painting in AWT and SwingGood Painting Code Is the Key to App PerformanceBy Amy Fowler在图形系统中, 窗口工具包(windowing toolkit)通常提供一个框架以便相对容易地创建一个图形用户接口(GUI),在正确的时间...

Java Swing GUI多线程之SwingUtilities.invokeLater和invokeAndWait

在Java中Swing是线程不安全的,是单线程的设计,这样的造成结果就是:只能从事件派发线程访问将要在屏幕上绘制的Swing组件。事件派发线程是调用paint和update等回调方法的线程,它还是事件监听器接口中定义的事件...

Swing的一些小技巧

也不一定都是小技巧,有的是原来不知道,现在用到了就知道了的关于Swing的东西。 1.JFrame 窗口最前端显示。public final void setAlwaysOnTop(boolean alwaysOnTop)。更改始终位于顶层的窗口状态。始终位于顶层的...

AWT和Swing的绘制细节

介绍AWT和Swing的底层绘制的细节...转自:http://java.sun.com/products/jfc/tsc/articles/painting/index.html Painting in AWT and Swing Painting in AWT and Swing Good Painting Code Is the Key to App...

[转]AWT和Swing中的绘画

在图形系统中, 窗口工具包... AWT (abstract windowing toolkit,抽象窗口工具包) 和Swing都提供这种框架。但是实现这种框架的APIs对一些开发人员来讲不是很好理解 -- 这就导致一些程序的运行达不到预期的效果。 

关于swing JTable的getColumnClass()报java.lang.NullPointerException错误

想实现的功能是在Table中添加复选框,需要重写JTable的getColumnClass()方法,JTable是默认支持复选框的,只要保证想要显示为复选框的那一列的值为布尔类型, 并且是可编辑的并且添加的列是可编辑的,一般是...

深入浅出MySQL数据库开发、优化与管理维护

第1部分 基础篇  第1章 MySQL的安装与配置    1.1 MySQL的下载     1.1.1 在Windows平台下下载MySQL     1.1.2 在Linux平台下下载MySQL    1.2 MySQL的安装     1.2.1 在Windows平台下安装MySQL     1.2.2 在Linux平台下安装MySQL    1.3 MySQL的配置     1.3.1 Windows平台下配置MySQL     1.3.2 Linux平台下配置MySQL    1.4 启动和关闭MySQL服务     1.4.1 在Windows平台下启动和关闭 MySQL服务     1.4.2 在Linux平台下启动和关闭MySQL服务    1.5 小结 显示全部信息第1部分 基础篇  第1章 MySQL的安装与配置    1.1 MySQL的下载     1.1.1 在Windows平台下下载MySQL     1.1.2 在Linux平台下下载MySQL    1.2 MySQL的安装     1.2.1 在Windows平台下安装MySQL     1.2.2 在Linux平台下安装MySQL    1.3 MySQL的配置     1.3.1 Windows平台下配置MySQL     1.3.2 Linux平台下配置MySQL    1.4 启动和关闭MySQL服务     1.4.1 在Windows平台下启动和关闭MySQL服务     1.4.2 在Linux平台下启动和关闭MySQL服务    1.5 小结   第2章 SQL基础    2.1 SQL简介    2.2 (My)SQL使用入门     2.2.1 SQL分类     2.2.2 DDL语句     2.2.3 DML语句     2.2.4 DCL语句    2.3 帮助的使用     2.3.1 按照层次看帮助     2.3.2 快速查阅帮助     2.3.3 常用的网络资源    2.4 小结   第3章 MySQL支持的数据类型    3.1 数值类型    3.2 日期时间类型    3.3 字符串类型     3.3.1 CHAR和VARCHAR类型     3.3.2 BINARY和VARBINARY类型     3.3.3 ENUM类型     3.3.4 SET类型    3.4 小结   第4章 MySQL中的运算符    4.1 算术运算符    4.2 比较运算符    4.3 逻辑运算符    4.4 位运算符    4.5 运算符的优先级    4.6 小结   第5章 常用函数    5.1 字符串函数    5.2 数值函数    5.3 日期和时间函数    5.4 流程函数    5.5 其他常用函数    5.6 小结   第6章 图形化工具的使用    6.1 MySQLAdministrator     6.1.1 连接管理     6.1.2 健康检查     6.1.3 备份管理     6.1.4 Catalogs    6.2 MySQLQueryBrower    6.3 phpMyAdmin     6.3.1 数据库管理     6.3.2 数据库对象管理     6.3.3 权限管理     6.3.4 导入导出数据    6.4 小结  第2部分 开发篇  第7章 表类型(存储引擎)的选择    7.1 MySQL存储引擎概述    7.2 各种存储引擎的特性     7.2.1 MyISAM     7.2.2 InnoDB     7.2.3 MEMORY     7.2.4 MERGE    7.3 如何选择合适的存储引擎    7.4 小结   第8章 选择合适的数据类型    8.1 CHAR与VARCHAR    8.2 TEXT与BLOB    8.3 浮点数与定点数    8.4 日期类型选择    8.5 小结   第9章 字符集    9.1 字符集概述    9.2 Unicode简述    9.3 汉字及一些常见字符集    9.4 怎样选择合适的字符集    9.5 MySQL支持的字符集简介    9.6 MySQL字符集的设置     9.6.1 服务器字符集和校对规则     9.6.2 数据库字符集和校对规则     9.6.3 表字符集和校对规则     9.6.4 列字符集和校对规则     9.6.5 连接字符集和校对规则    9.7 字符集的修改步骤    9.8 小结   第10章 索引的设计和使用    10.1 索引概述    10.2 设计索引的原则    10.3 BTREE索引与HASH索引    10.4 小结   第11章 视图    11.1 什么是视图    11.2 视图操作     11.2.1 创建或者修改视图     11.2.2 删除视图     11.2.3 查看视图    11.3 小结   第12章 存储过程和函数    12.1 什么是存储过程和函数    12.2 存储过程和函数的相关操作     12.2.1 创建、修改存储过程或者函数     12.2.2 删除存储过程或者函数     12.2.3 查看存储过程或者函数     12.2.4 变量的使用     12.2.5 定义条件和处理     12.2.6 光标的使用     12.2.7 流程控制    12.3 小结   第13章 触发器    13.1 创建触发器    13.2 删除触发器    13.3 查看触发器    13.4 触发器的使用    13.5 小结   第14章 事务控制和锁定语句    14.1 LOCKTABLE和UNLOCKTABLE    14.2 事务控制    14.3 分布式事务的使用     14.3.1 分布式事务的原理     14.3.2 分布式事务的语法     14.3.3 存在的问题    14.4 小结   第15章 SQL中的安全问题    15.1 SQL注入简介    15.2 应用开发中可以采取的应对措施     15.2.1 PrepareStatementBind-variable     15.2.2 使用应用程序提供的转换函数     15.2.3 自己定义函数进行校验    15.3 小结   第16章 SQLMode及相关问题    16.1 MySQLSQLMode简介    16.2 常用的SQLMode    16.3 SQLMode在迁移中如何使用    16.4 小结  第3部分 优化篇  第17章 常用SQL技巧和常见问题    17.1 正则表达式的使用    17.2 巧用RAND()提取随机行    17.3 利用GROUPBY的WITHROLLUP子句做统计    17.4 用BITGROUPFUNCTIONS做统计    17.5 数据库名、表名大小写问题    17.6 使用外键需要注意的问题    17.7 小结   第18章 SQL优化    18.1 优化SQL语句的一般步骤     18.1.1 通过showstatus命令了解各种SQL的执行频率     18.1.2 定位执行效率较低的SQL语句     18.1.3 通过EXPLAIN分析低效SQL的执行计划     18.1.4 确定问题并采取相应的优化措施    18.2 索引问题     18.2.1 索引的存储分类      18.2.2 MySQL如何使用索引     18.2.3 查看索引使用情况    18.3 两个简单实用的优化方法     18.3.1 定期分析表和检查表     18.3.2 定期优化表    18.4 常用SQL的优化     18.4.1 大批量插入数据     18.4.2 优化INSERT语句     18.4.3 优化GROUPBY语句     18.4.4 优化ORDERBY语句     18.4.5 优化嵌套查询     18.4.6 MySQL如何优化OR条件     18.4.7 使用SQL提示    18.5 小结   第19章 优化数据库对象    19.1 优化表的数据类型    19.2 通过拆分提高表的访问效率    19.3 逆规范化    19.4 使用中间表提高统计查询速度    19.5 小结   第20章 锁问题    20.1 MySQL锁概述    20.2 MyISAM表锁     20.2.1 查询表级锁争用情况     20.2.2 MySQL表级锁的锁模式     20.2.3 如何加表锁     20.2.4 并发插入(ConcurrentInserts)     20.2.5 MyISAM的锁调度    20.3 InnoDB锁问题     20.3.1 背景知识     20.3.2 获取InnoDB行锁争用情况     20.3.3 nnoDB的行锁模式及加锁方法     20.3.4 InnoDB行锁实现方式     20.3.5 间隙锁(Next-Key锁)     20.3.6 恢复和复制的需要,对InnoDB锁机制的影响     20.3.7 InnoDB在不同隔离级别下的一致性读及锁的差异     20.3.8 什么时候使用表锁     20.3.9 关于死锁    20.4 小结   第21章 优化MySQLServer    21.1 查看MySQLServer参数    21.2 影响MySQL性能的重要参数     21.2.1 key_buffer_size的设置     21.2.2 table_cache的设置     21.2.3 innodb_buffer_pool_size的设置     21.2.4 innodb_flush_log_at_trx_commit的设置     21.2.5 innodb_additional_mem_pool_size的设置     21.2.6 innodb_lock_wait_timeout的设置     21.2.7 innodb_support_xa的设置     21.2.8 innodb_log_buffer_size的设置     21.2.9 innodb_log_file_size的设置    21.3 小结   第22章 磁盘I/O问题    22.1 使用磁盘阵列     22.1.1 常见RAID级别及其特性     22.1.2 如何选择RAID级别     22.1.3 虚拟文件卷或软RAID    22.2 使用SymbolicLinks分布I/O    22.3 禁止操作系统更新文件的atime属性    22.4 用裸设备(RawDevice)存放InnoDB的共享表空间    22.5 小结   第23章 应用优化    23.1 使用连接池    23.2 减少对MySQL的访问     23.2.1 避免对同一数据做重复检索     23.2.2 使用查询缓存     23.2.3 增加CACHE层    23.3 负载均衡     23.3.1 利用MySQL复制分流查询操作     23.3.2 采用分布式数据库架构    23.4 其他优化措施    23.5 小结  第4部分 管理维护篇  第24章 MySQL高级安装和升级    24.1 Linux/UNIX平台下的安装     24.1.1 安装包比较     24.1.2 安装RPM包     24.1.3 安装二进制包     24.1.4 安装源码包     24.1.5 参数设置方法    24.2 源码包安装的性能考虑     24.2.1 去掉不需要的模块     24.2.2 只选择要使用的字符集     24.2.3 使用静态编译以提高性能    24.3 升级MySQL    24.4 MySQL降级    24.5 小结   第25章 MySQL中的常用工具    25.1 mysql(客户端连接工具)     25.1.1 连接选项     25.1.2 客户端字符集选项     25.1.3 执行选项     25.1.4 格式化选项      25.1.5 错误处理选项    25.2 myisampack(MyISAM表压缩工具)    25.3 mysqladmin(MySQL管理工具)    25.4 mysqlbinlog(日志管理工具)    25.5 mysqlcheck(MyISAM表维护工具)    25.6 mysqldump(数据导出工具)    25.7 mysqlhotcopy(MyISAM表热备份工具)    25.8 mysqlimport(数据导入工具)    25.9 mysqlshow(数据库对象查看工具)    25.10 perror(错误代码查看工具)    25.11 replace(文本替换工具)    25.12 小结   第26章 MySQL日志    26.1 错误日志    26.2 二进制日志     26.2.1 日志的位置和格式     26.2.2 日志的读取     26.2.3 日志的删除     26.2.4 其他选项    26.3 查询日志     26.3.1 日志的位置和格式     26.3.2 日志的读取    26.4 慢查询日志     26.4.1 文件位置和格式     26.4.2 日志的读取     26.4.3 其他选项    26.5 小结   第27章 备份与恢复    27.1 备份/恢复策略    27.2 逻辑备份和恢复     27.2.1 备份     27.2.2 完全恢复     27.2.3 基于时间点恢复     27.2.4 基于位置恢复    27.3 物理备份和恢复     27.3.1 冷备份     27.3.2 热备份    27.4 表的导入导出     27.4.1 导出     27.4.2 导入    27.5 小结   第28章 MySQL权限与安全    28.1 MySQL权限管理     28.1.1 权限系统的工作原理     28.1.2 权限表的存取     28.1.3 账号管理    28.2 MySQL安全问题     28.2.1 操作系统相关的安全问题     28.2.2 数据库相关的安全问题    28.3 其他安全设置选项     28.3.1 old-passwords     28.3.2 safe-user-create     28.3.3 secure-auth     28.3.4 skip-grant-tables     28.3.5 skip-network     28.3.6 skip-show-database    28.4 小结   第29章 MySQL复制    29.1 安装配置    29.2 主要复制启动选项     29.2.1 log-slave-updates     29.2.2 master-connect-retry     29.2.3 read-only     29.2.4 指定复制的数据库或者表     29.2.5 slave-skip-errors    29.3 日常管理维护     29.3.1 查看从服务器状态     29.3.2 主从服务器同步维护     29.3.3 从服务器复制出错的处理     29.3.4 logevententryexceededmax_allowed_packet的处理     29.3.5 多主复制时的自增长变量冲突问题     29.3.6 查看从服务器的复制进度    29.4 切换主从服务器    29.5 小结   第30章 MySQLCluster    30.1 MySQLCluster架构    30.2 MySQLCluster的配置     30.2.1 MySQLCluster的版本支持     30.2.2 管理节点配置步骤     30.2.3 SQL节点和数据节点的配置    30.3 开始使用Cluster     30.3.1 Cluster的启动     30.3.2 Cluster的测试     30.3.3 Cluster的关闭    30.4 维护Cluster     30.4.1 数据备份     30.4.2 数据恢复     30.4.3 日志管理    30.5 小结   第31章 MySQL常见问题和应用技巧    31.1 忘记MySQL的root密码    31.2 如何处理MyISAM存储引擎的表损坏     31.2.1 方法一     31.2.2 方法二    31.3 MyISAM表超过4GB无法访问的问题    31.4 数据目录磁盘空间不足的问题     31.4.1 对于MyISAM存储引擎的表     31.4.2 对于InnoDB存储引擎的表    31.5 DNS反向解析的问题    31.6 mysql.sock丢失后如何连接数据库    31.7 同一台服务器运行多个MySQL数据库    31.8 客户端怎么访问内网数据库    31.9 小结

jdk1.8 64位官方正式版 jdk-8u91-windows

jdk1.8 64位官方正式版 jdk-8u91-windows

相关热词 c#编译器 学习 c#和其他语言相比 c# 什么是管道 c# 在ui线程中运行 c# 动态增加枚举 c# panel边框 c#调用dll报错 c# 编写dll c# dll修复工具 c# timer 多线程