我觉得你虽然创建了JScrollPane,但是根本就没有用上
你应该这么写:
dp1.add(JSP,null);
然后在JSP上绘画,当然JScrollPane没有paint函数,或许你还需要给JSP添加一个Panel

解决方案 »

  1.   

    是,我也刚发现了这个问题,类 UserInfoFrame1 修改如下:
            JScrollPane JSP=new JScrollPane(dp1,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            JSP.setBounds(2,2,590,300);
            JSP.setFont(new java.awt.Font("Monospaced", 0, 12));
            JSP.setWheelScrollingEnabled(true);
            add(JSP,null);
    其实已经给JSP添加了一个Panel,就是dp1。出现了滚动条,可还是不能滚动。到底怎么回事。
      

  2.   

    JScrollPane JSP=new JScrollPane(dp1,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);  
     //建立JScrollPane
    这个是对的 
    就相当于JSCrollPane.getViewport.add(dp1);只是drawPanel 可能有点问题
    因为默认应该是FlowLayout应该会有水平的滚动条
    主要的还是drawPanel 的布局
      

  3.   

    JFrame f = new JFrame();
    f.setSize(800,600);
    f.setVisuable(true);
    f.show();...
    JScrollPane scrollPane = new JScrollPane();
    f.add(scrollPane);//你应该添加到Frame里面吧?
    ...
    scrollPane.getViewport.add(dp1);
      

  4.   

    to zealVampire(白鹤泉之*)  :  我将Frame 改成了JFrame,add(JSP,null) 就是将JSCROLLPANE添加到JFRAME里了,都做了,出现了滚动条可就是不起作用,把线程也去掉了,可还是不行,我都要疯了,这JAVA做个界面程序咋这么费劲呀,真不是什么好玩意。   各位,快出着吧,急死我了,先谢谢!
      

  5.   

    嗨,提示一句,好象 JSP.setBounds(2,2,590,300); 没有起作用,不起作用的滚动条也是在最大屏幕状态。是否根据这个可以看出点问题来?
      

  6.   

    也使用了 FlowLayout 布局管理器,可还是不行这是类构造方法:
    public drawpic()
            {
                JFrame f=new UserInfoFrame1("分布图");            
                f.setSize(1000, 250);
                f.setVisible(true);
                drawPanel dp1=new drawPanel();
                FlowLayout flowlayout=new FlowLayout ();
                dp1.setLayout (flowlayout);
                JScrollPane JSP=new JScrollPane(dp1,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
                JSP.setBounds(2,2,300,100);
                JSP.setWheelScrollingEnabled(true);
                JSP.getViewport().add(dp1);
                f.getContentPane().add(JSP,null);
                f.show();
            }
      

  7.   

    埃 如果你实在不行
    你在JScrollPane添加一个panel之后这个panel使用borland的XYLayout, 之后按照坐标画
    这个肯定会有滚动条的,我试过很多次的了
    你别继承class drawPanel extends Panel{直接在scrollPane添加panel之后在panel安装坐标画就是了
    例如JLabel lab = new JLabel("aaaa");
      panel.add(lab,new XYConstraints(0,0,50,10));
      

  8.   

    borland 的东西没用过,不熟悉。
    关键是使用 JScrollPane 应该可以的呀,问题出在哪里?
      

  9.   

    提示:看别人的例子,在用 textArea 组件时也碰到同样的问题:有滚动条而不能滚动,后来采用了textArea.setPerfferedSize() 方法,就可以滚动了,不知PANEL 对应的方法是什么?