JComponent都可以吧,看看我这个
出是出来了,但是还是滚动不了,我觉得好象和JViewport有关import java.awt.*;
import javax.swing.*;public class test16{ public static void main(String[] args){
MyFrame2 f=new MyFrame2();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
}
}class MyFrame2 extends JFrame{ public MyFrame2(){
super();

Container c=getContentPane();
MyPanel pane=new MyPanel();

JScrollPane myscroll=new JScrollPane(pane,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);

c.add(myscroll);

setSize(200,200);
setLocation(400,400);
}

class MyPanel extends JPanel{
public  MyPanel(){
super();
}

public void paintComponent(Graphics g){
Graphics2D d2d=(Graphics2D)g;
d2d.drawString("Hello",200,200);
}
}
}

解决方案 »

  1.   

    其实我觉得出现滚动条是应为用 了ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS这两个参数。
    而JPanel本身不能设置大小。现在,我觉得解决的办法是找个可设置大小并性质和JPanel类似的组件。或自己做一个可是问题是怎样实现:小大可控。JComponent本身也是设置大小无效的???
      

  2.   

    setPreferredSize
    invalidate
    validate
      

  3.   

    void setViewportView(Component view) 
              Creates a viewport if necessary and then sets its view.