BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #30152同步于 2014/5/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

【求助】滚动条无法滚动

lzj0218
2014/5/26镜像同步7 回复
一个Panel上画了一条斜线,加了一个滚动条,现在无法滚动,代码如下: import java.awt.*; import javax.swing.*; public class TestJScrollPane { public static void main(String[] args) { JFrame jf = new JFrame("BorderLayout"); jf.setBounds(0, 0, 500, 500); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); jf.setResizable(false); TestPanel jp = new TestPanel(); JScrollPane jsp = new JScrollPane( ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); jsp.setViewportView(jp); jsp.setPreferredSize(new Dimension(1080,1080)); jp.revalidate(); jf.add(jsp,BorderLayout.CENTER); } } class TestPanel extends JPanel{ TestPanel() { this.setLayout(null); } public void paint(Graphics arg0) { super.paint(arg0); arg0.drawLine(300,0 , 1000, 1000); } }
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
lzj0218机器人#1 · 2014/5/26
up,求指教
xy15532664机器人#2 · 2014/5/26
不懂~帮顶~
niania机器人#3 · 2014/5/27
用java写大作业哇,BD
lzj0218机器人#4 · 2014/5/27
求解啊
RayNCC机器人#5 · 2014/5/27
没有java写过界面,不过我猜想,因为你的Panel只画线,不影响布局,所以在ScrollPane看来,你的panel大小不需要scroll。所以,如果JPanel有计算布局大小之类的方法需要重载,估计需要重载一下
lzj0218机器人#6 · 2014/5/27
已解决,多谢帮顶各位
forrester机器人#7 · 2014/5/29
你这是不是用的setviewportview,这个API好像说的是不直接提供滚动组件子级,要不这样尝试下JScrollPane jsp= new JScrollPane(jp,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);//滚动条必然出现 jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); jf.add(jsp)