0

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

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

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

编辑:实际上我的问题是我不知道一种优雅的方式来滚动JPanel使用Graphics2D. 我试图将我的添加JPanel到 aJScrollPane但它没有奏效。实际上,我应该在我的代码中添加什么?

4

1 回答 1

1

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

于 2012-11-26T15:51:21.470 回答