JTextArea没有显示出来

时间:2014-08-03 13:51:35

标签: java swing jtextarea

这是我的代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class testFrame extends JFrame {

    public void draw(){
        setTitle("Asd");
        setVisible(true);
        setSize(800, 600);

        Container cp = this.getContentPane();
        cp.setLayout(new BorderLayout());
        JScrollPane jp = new JScrollPane();

        JTextArea ta = new JTextArea(5, 20);
        ta.setVisible(true);
        jp.add(ta);

        cp.add(jp);
    }

    public static void main(String argz[]){
        testFrame a = new testFrame();
        a.draw();
    }
}

然而,当我运行它时,我无法看到JTextArea!

首先,我获取了我的框架的contentpane并将其布局设置为Borderlayout然后我创建了一个scrollpane并添加了一个textarea。但是,当我运行它时,我无法看到JTextarea!

1 个答案:

答案 0 :(得分:3)

jp.add(ta);

不要将组件添加到JScrollPane。

而是将组件添加到滚动窗格的视口中:

jp.setViewportView( ta );

或者更简单的方法是使用文本区域作为参数创建滚动窗格:

JTextArea ta = new JTextArea(5, 20);
JScrollPane jp = new JScrollPane( ta );  
cp.add( jp );