import java.awt.Graphics;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
class MyPanel extends JPanel{
        
        
        protected void paintComponent(Graphics g) {
                super.paintComponents(g);
                for(int i = 0;  i < 100; i++){
                        g.drawString((i + 1) + "", 50, i * 50);
                }
        }
        
}
public class TestFrame extends JFrame{        MyPanel panel= new MyPanel(); 
        public TestFrame(){                JScrollPane js = new JScrollPane(panel);
                getContentPane().add(js);
                setSize(500,500);
                setLocation(100,100);
                setVisible(true);
                setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                
        }
        public static void main(String[] args) {
                new TestFrame();
        }

解决方案 »

  1.   

    JScrollPane(Compenent)中的Compenent一般是JTextArea之类的。
      

  2.   

    class MyPanel extends JPanel{
            
            
            protected void paintComponent(Graphics g) {
                    super.paintComponents(g);
                    for(int i = 0;  i < 100; i++){
                            g.drawString((i + 1) + "", 50, i * 50);
                    }
            }
            
    }这方法是画背景的吧?所以应该不会出现滚动条
      

  3.   

    这些字符直接画在面板上面的。
    对滚动条来讲,它是对在其中的容器起作用,如果里面的容器大小正好比外部的大,那就会有滚动条。
    楼主可以在panel里面在加一个panel,然后让里面的panel大小大于外部的大小。