我有一个程序:
****************** a.java ****************** 
01.import java.awt.Container;
02.import javax.swing.*;
03.public class a extends JApplet
04.{
05.    public void init()
06.    {
07.        JTextArea outputArea=new outputArea();
08.        1.JScrollPane scroller=new JSsrollPane(outputArea);
09.        2.Container container=getContentPane();
10.          container.add(outputArea);
11.    }
12.    public void start()
13.    {
14.        ……;
15.    }
16.}
****************** a.html ****************** 
01.<html>
02.    <applet code="a.class" width=300 height=300></applet
03.</html>在程序中,如果使用init中的第2种情况,也就是第九行的container,则applet出现预期效果
但是如果程序中使用了滚动的JScrollPane,也就是init的第一种情况,则applet将只是一个浅灰色的背景,请问这是为什么,两者有什么不同么?
如果我想使用有滚动条的applet,应该怎么修改~
谢谢各位大侠!

解决方案 »

  1.   

    JScrollPane自带了滚动条的
    JScrollPane是Container的子类
      

  2.   

    一楼大哥,问题是如果是我用了JScrollPane以后,程序编译可以通过,但是运行出来啥都没有~
    这是为啥?
      

  3.   

    因为Applet 自身有默认的Container,要在此上面加内容才能够显示。
    Container container=getContentPane()得到了Applet的容器(Container)。
    而你并没有定义JScrollPane显示的位置(没有把JScrollPane加到任何的容器或框架里),就不会显示了
      

  4.   

    把JScrollPane加到container中就能显示
      

  5.   

    import java.awt.*;
    import javax.swing.*;public class TestTextArea extends JApplet{
      public void init(){
        JTextArea outputArea=new JTextArea(); 
        
        outputArea.setText("Welcome!HAHAHA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nHAHAHA");
        
        JScrollPane scroller=new JScrollPane(outputArea); 
        
        Container c = getContentPane();
        
        c.add(scroller);
      }
    }
      

  6.   

    原来如此,谢谢justinavril 和zhujiahill ~