java - JXLayer 实现

想在某个工作线程正在执行时使用 JXLayer 来锁定我的 GUI。以为就这么简单:

JPanel panel = getMyPanel();       
LockableUI lockableUI = new LockableUI();        
JXLayer l = new JXLayer(panel, lockableUI);        
lockableUI.setLocked(false);
add(l);

第一个错误是 getMyPanel() 函数由于某种原因未定义。 我添加了 jxlayer3-0.jar

我需要我想锁定的面板....所以如果我切换第一行:

JPanel p =(JPanel) getContentPane();

但随后我收到警告,我正在自行添加容器的父项。找不到 JXLayer 的任何文档

最佳答案

实际上,要锁定某些屏幕元素,您不需要将组件包装成特殊的东西。只需使用存在于每个 JFrame 或 JDialog 中的 glasspane。

  • http://www.java2s.com/Code/Java/Swing-JFC/Showhowaglasspanecanbeusedtoblockmouseandkeyevents.htm
  • Using a GlassPane in a JPanel

https://stackoverflow.com/questions/27484118/

相关文章:

java - 无法为 JDT 编译器指定多个源路径

java - 雅可比坐标下的椭圆曲线点加法

c++ - 如何解锁Windows登录屏幕

git - 如何在文件末尾没有换行符的情况下列出 Git 索引中的所有文件

c - Windows Shell 中的 ReadConsoleInput 缺少事件?

java - 无法使用 XStream/Jettison 反序列化多图

java - libgdx scene2d 返回错误的标签高度

android - 无法在 TYPE_SYSTEM_ALERT 窗口中获得焦点并开始编辑 EditT

asp.net-mvc - 在生产环境中使用 mvc 4 中的代码优先方法添加新列

python - 过滤掉特定的 Python 日志消息