我实现了在label中加了图片,label放在JScrollPanel上,JScrollPanel放在Panel上。
最后是可以出现JScrollBar的。
《....我想实现的是点击图片放大的效果,点击的位置还在鼠标的位置上。。》
当我把图片的大小变大,确实是可以实现放大效果,但是,却不能让鼠标在想要的位置上。
试了下,发现主要是bar.setvalue(int);这个值并不能设置进去。那几个值的大小关系: minimum <= value <= value+extent <= maximum说明:
我把图片的(width*2,height*2);实现了放大。
把放大的图片放在label上,实现了滚动条的增大。
然后设置了 maximum 为(width*2)的大小,却不能实现让bar.setvalue(int)中的int变的更大。例如:图片大小800*600的,bar的大小是700*500的。
放大前:min=0,value最大可以达到(800-700=100;),max=800.
我放大后:min=0,value的最大值还只是100,如果我不设置的话,max=800,这样我明白为什么value为100;
可是我把max设置为1600,value的最大值还是100,即使我用bar.setvalue(200),完成后我再用bar.getvalue(),结果还是100,
就是说value的值不能变的比100更大了。
问题完了,请教各位大虾,教我下
即用javax.swing.JOptionPane.showMessageDialog(frame,"test");
后面加bar.setvalue(int);就可以设置进去了。现在的问题是在程序里面肯定是不能突然冒出个Message的。那该如何让程序等待下呢?
待解!!!
并且,我已经测试过了,不行。
另求解
1)调用Label的setPreferredSize方法,这个方法主要是用来进行自动排版的...2)调用scrollPane的validate方法,用来重排的...3)如果2)起作用了,可是试试看setVerticalScrollPolicy(是不是这个名字我记不清了,应该差不多吧..)让它自己自动排列...