当前位置:编程学习 > JAVA >>

JPanel中画布旋转后超出了JPanel范围如何解决?放大JPanel无法解决,在线等....

如图所示,原始示例如下图:

当我旋转画布后,变成如下图2:


可见,其中的一部分线段都没有显示了,我想通过放大JPanel的方法,即
JPanel.setPreferredSize(new Dimension((int)(temp.getWidth()*1.05),(int)(temp.getHeight()*1.05)));,但是这样也不可以,还是跟图2一样的样子。
所以,如何放大JPanel后把没显示的能显示出来吗?或者有没有其他办法显示出旋转后消失的部分?
谢谢各位! JPanel旋转 JPanel放大 --------------------编程问答-------------------- Panel放到一个大的ScrollPane里 --------------------编程问答-------------------- 应该线条向右下平移一下。
应该是点的位置在超出了范围,
加大JPanel的大小只能把右下两个方向没显示的显示出来。 --------------------编程问答--------------------
引用 2 楼 huntor 的回复:
应该线条向右下平移一下。
应该是点的位置在超出了范围,
加大JPanel的大小只能把右下两个方向没显示的显示出来。

是啊,旋转后有的点的y坐标是负值了,加大JPanel并不能解决问题,因为点的坐标计算是依据JPanel的大小的,JPanel无论多大,点的坐标就相应增加,还是相对于JPanel的那个位置 --------------------编程问答--------------------
引用 1 楼 Inhibitory 的回复:
Panel放到一个大的ScrollPane里

加了JScrollPane还是不管用啊,还是如图2效果一样 --------------------编程问答-------------------- "旋转后有的点的y坐标是负值了"
只能平移了坐标了,因为负值坐标处的图像是不可见的。
--------------------编程问答-------------------- scollPane应该有滚动条的,显示出水平和竖直滚动条不就行了。 --------------------编程问答--------------------
引用 6 楼 u010863631 的回复:
scollPane应该有滚动条的,显示出水平和竖直滚动条不就行了。

旋转后有的点的y坐标是负值了啊,显示水平和垂直滚动条也不行,因为此时y坐标还是负值啊 --------------------编程问答-------------------- 果断选用JScrollPane,可以达到你的需求的 --------------------编程问答--------------------
引用 8 楼 nj_dobetter 的回复:
果断选用JScrollPane,可以达到你的需求的

旋转是每个线段的坐标变换,有的点坐标变成负值了,所以没法显示了,用JScrollPane了,还是不行,因为JScrollPane没有改变有负值的Line的情况啊 --------------------编程问答-------------------- 除
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,