【发布时间】:2014-08-10 17:49:36
【问题描述】:
我正在从事一个个人项目。 a circuit simulator if you are interested。在我的项目中,我使用 JPanel 来绘制我的内容。我可以使用 AffineTransformations 移动和缩放它。每次调用paint() 时,我都会绘制用户应该看到的绘图区域。图纸可以很大(我对它的大小没有限制)。我使用一个 Rectangle 来跟踪我的绘图的可见区域并在 JPanel graphics2d 中绘制它。
现在我想添加滚动条来移动我的视口,我认为 JScrollPane 很有用。我看到很多线程都在谈论使用带有 JScrollPane 的 JPanel 来滚动简单的内容。第一个看是this one,但我不喜欢这种解决方案,因为滚动窗格确实滚动了JPanel。在所有示例中,我应该绘制所有面板区域!我只绘制面板的可见区域,因为它非常耗时。
所以,我的问题是:如何使用滚动窗格来移动我的自定义视口并反映更改(我不想滚动用于绘图的 jpanel)?还是应该使用一个 JPanel 和两个简单的 JScrollbars?
我找不到从头开始实现 Scrollable 界面的简单指南。所有教程都从 JPanel 或 JLabel 开始
感谢您的建议!
(对不起我的英语)
【问题讨论】:
标签: java swing jscrollpane simulator circuit