java jpanel隐藏_java – 绘制JPanel隐藏菜单
我有一个JPanel,在其上执行自定义绘画,可能需要15秒.
问题是当我在绘制JPanel的同时点击一个菜单时,绘画正在菜单上完成,并且选项不可见. (见图中扭曲的文字)
如果我在绘画完成后单击菜单,则没有不需要的行为,但是当我将鼠标指针移动到不同的菜单上时,同样的事情再次发生.
例如,在完成绘画后,如果单击“应用程序”,则不会出现副作用,但是当我将鼠标指针移动到“帮助”时,会显示前面描述的行为.
如何避免这种情况?
我在一个单独的线程中在paintComponent()方法之外执行绘制:
public class RandomIFSPanel extends JPanel {
RandomIFSPanelRenderer randomIFSPanelRenderer;
@Override
public void paintComponent(Graphics graphics) {
try {
randomIFSPanelRenderer.stop();
} catch (Exception e) {
}
randomIFSPanelRenderer = new RandomIFSPanelRenderer();
randomIFSPanelRenderer.start();
}
class RandomIFSPanelRenderer extends Thread {
@Override
public void run() {
for (int i = 0; i < numberOfPoints; i++) {
Graphics g=getGraphics();
g.setColor(Color.WHITE);
g.drawLine........
}
}
}
}
解决方法:
除了有关Event Dispatch Thread的内容之外:
>您是直接调用paintComponent()方法吗?调用repaint()更“安全”.
>调用paintComponent()时,是否可以缓冲图像,绘制图像然后在面板上进行设置?
标签:java,swing
来源: https://codeday.me/bug/20190901/1781169.html
java jpanel隐藏_java – 绘制JPanel隐藏菜单相关推荐
- java 覆盖和隐藏_Java覆盖和隐藏2
先上题,题目如下,请分析输出结果: public class MainClass { public static void main(String[] args) { Fu f = new Zi(); ...
- java jpanel 半透明_java – 透明JPanel
我想创建一个半透明的JPanel.我通过简单地使用颜色构造函数的RGBA值来完成它,但问题是当我使用事件处理不正确地唤醒时.我的要求是一个半透明的Jpanel,当鼠标进入它的边框,这个面板变得可见,如 ...
- java线程死锁_Java并发:隐藏线程死锁
java线程死锁 大多数Java程序员熟悉Java线程死锁概念. 它本质上涉及2个线程,它们彼此永远等待. 这种情况通常是平面(同步)或ReentrantLock(读或写)锁排序问题的结果. Foun ...
- java excel插入列_Java 插入、隐藏/显示、删除Excel行或列
概述 操作Excel工作表时,对表格中的行或列数据可执行,包括插入.隐藏.显示.删除等在内的多种操作需求,本文将通过Java代码示例演示每种操作的具体实现方法.文中方法使用了Java Excel类库( ...
- java五子棋棋盘_java绘制五子棋棋盘代码示例
本篇文章小编给大家分享一下java绘制五子棋棋盘代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如下: import javax.imag ...
- java 画星星_Java——绘制五角星
Java2D支持通过GeneralPath实现绘制任意的几何形状. 步骤:1)实例化GeneralPath对象 2)调用moveTo()方法锚地开始点坐标 3)调用lineTo()或curveTo() ...
- java画虚线_Java绘制虚线
Java绘制虚线 (2013-03-29 17:07:14) 标签: 绘图 虚线 it DashStroke.java ----------------- import java.awt.*; imp ...
- java水平线代码_java 绘制直线,跪求源代码???
在几何中,直线是向两端无限延伸的,本实例所说的绘制直线,实际上是绘制直线上两点之间的线段,线段在实际生产和生活中经常使用.运行程序,将在窗体上绘制线段,效果如图1.1所示.图... 在几何中,直线是向 ...
- java swing 右键_java swing制作右键菜单
java swing中如何实现右键菜单呢? 直接上代码: /*** java * 设置弹出菜单 * @param qrResultLabel */ private void setPopupMe ...
最新文章
- 【洛谷 1991】 无线通讯网
- oracle事务提交前更新机制,Oracle 事务机制 批量添加,修改,更新
- 修改npm全局安装模式的路径
- 静态函数 静态变量和常量
- 当音乐博士开始写代码...
- Mozilla在Thunderbird 60.3中的修补了多个安全漏洞
- Codeforces Round #521 (Div. 3): F. Pictures with Kittens(DP+单调队列)
- JavaScript编码风格指南(中文版)
- PCIE5.0英文版协议
- 浅谈 MyBatis 缓存
- 程序员有文化,多可怕!
- 用Visual C#.NET编写服务器日期控件
- 将excel表格嵌入html,excel中embed的使用
- ai绘画到底有大强?我开发了一款ai绘画(来看看)
- 万物心选—新生代妈妈创业的优质之选
- Jenkin 配置 Gerrit Trigger
- 计算机访学面试,国家公派访问学者面试经典问题总结
- 迷宫问题超详解(栈实现)
- 信号与系统(13)- 傅里叶变换的性质
- JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
热门文章
- jQuery基础教程之如何注册以及触发自定义事件
- 算法高级(41)-推荐算法实现
- IntelliJ Idea 常用12款插件(提高开发效率),附优秀主题插件
- Linux 使用root用户登录系统,并查看当前的路径。 查看当前目录下面的所有文件(包括隐藏文件)。 在当前目录下,查看根目录中的目录结构。
- 网站调用百度地图 根据地址查询经纬度
- jetbrick-template 和其他模板的性能测试比较
- C#控件及常用属性整理
- MonoRail学习笔记十八:在VM中可以使用哪些系统变量
- 网页中Flash播放器常用参数设置(转)
- 软件测试 学习之路 CSS (二)