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();
}
}
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();
}
}
protected void paintComponent(Graphics g) {
super.paintComponents(g);
for(int i = 0; i < 100; i++){
g.drawString((i + 1) + "", 50, i * 50);
}
}
}这方法是画背景的吧?所以应该不会出现滚动条
对滚动条来讲,它是对在其中的容器起作用,如果里面的容器大小正好比外部的大,那就会有滚动条。
楼主可以在panel里面在加一个panel,然后让里面的panel大小大于外部的大小。