java - 剪辑区域以在动画期间隐藏 JWindow

标签 java swing animation jwindow

我正在开发一个 toast 处理程序,用于管理通过“toast”动画(向上滑动,站立一会儿,然后向下滑动)向用户带来的通知。 Toast 类扩展了 JWindow (仅用于测试,我可以使用具有更稳定版本的 JDialog)。

我的问题是创建一种剪切区域来隐藏动画开始时的 toast (JWindow)。目前窗口在整个动画过程中都是可见的,但是当执行 toast.setVisible(true); 时它应该完全隐藏,并在“向上滑动”阶段开始出现,在“站立”阶段,并在“滑落”阶段再次开始消失。

我不知道如何设置剪切区域,有人可以帮助我吗?

我希望这是可以理解的。如果您需要更多详细信息,请告诉我。

最佳答案

从这个开始LowerRightFrame ,使用以下初始位置:

int x = (int) rect.getMaxX() - f.getWidth();
int y = (int) rect.getMaxY() - f.getInsets().top;

然后使用 javax.swing.Timer 定期将 y 增加到完整高度:

int y = (int) rect.getMaxY() - f.getHeight();

在这种方法中,剪裁是由主机平台强制执行的。请注意,某些平台不会让可见窗口完全离开屏幕;如果没有可见的拖动栏,该窗口将无法访问。

关于java - 剪辑区域以在动画期间隐藏 JWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12379419/

相关文章:

java - try/catch block 中带有 Scanner 的 NoSuchElementException

java - 如何使用 PostgreSQL 和 Hibernate 映射 Java 多维数组

jquery - 让 Jquery 函数等待动画完成

css - 用 less 链接关键帧属性

java - 执行代码N次和其他代码N+1次

java - 解析xml文件,重命名标签并再次保存

java - GridBagLayout:均匀分布的单元格

java - 如何将 JScrollPane 与 JTextArea 一起使用?

java - JFileChooser 事件

iOS 动画 Logo ——低内存替代品