gpt4 book ai didi

java - 如何移动JPanel的所有内容?

转载 作者:行者123 更新时间:2023-12-01 15:01:34 25 4
gpt4 key购买 nike

我有一个继承自JPanel的类。它称为 DrawingPanel,在此类中,我使用 Graphics2D 绘制线条和形状,并使用用户鼠标的位置对这些形状执行一些操作。

面板中的绘图会占用大量屏幕空间(例如我可能会从 (-200, -300) 到 (2000, 1000) 绘制线条),所以实际上我只能看到一部分绘图。这就是为什么我希望能够通过滚动来移动面板中绘制的所有内容。

是否有一个简单而优雅的解决方案可以做到这一点,并且不需要对我的代码进行太多更改?

编辑:实际上我的问题是,我不知道在 JPanel 中滚动使用 Graphics2D 绘制的形状的优雅方式。我尝试将 JPanel 添加到 JScrollPane 但没有成功。实际上,我应该在代码中添加什么?

最佳答案

将绘图代码放入一个单独的方法中,称为(例如)draw,它接受 1 个参数,即一个 Graphics 对象。
paintComponent 方法中,您根据应显示绘图区域的 translate() Graphics 对象,然后将其传递到您的 draw 方法中。

关于java - 如何移动JPanel的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13568013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com