不能将字符串附加到jtextarea

时间:2011-04-05 17:59:49

标签: java swing jtextarea

public class Main {

    private static void createAndShowGUI()  {

        JFrame frame1 = new JFrame("FINAL YEAR PROJECT VER 1.0");

        frame1.setSize(500,500);
        frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


        FlowLayout experimentLayout = new FlowLayout();
        experimentLayout.setAlignment(FlowLayout.CENTER);
        frame1.setLayout(experimentLayout);

        JTextArea jtextarea = new JTextArea(200,200);
        JScrollPane scrollingArea = new JScrollPane(jtextarea);

        frame1.getContentPane().add(jtextarea);
        frame1.getContentPane().add(scrollingArea, FlowLayout.CENTER);

         jtextarea.setText("Welcome to Document-Query Similarity System Based On Weblogs");



        frame1.setVisible(true);
    }


    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

我正在尝试使用setText()上的JTextarea方法显示文字。但是,字符串不显示。我错过了什么?

2 个答案:

答案 0 :(得分:3)

它就在那里,只是让textarea更小。类似的东西:

JTextArea jtextarea = new JTextArea(20,20);

使用当前尺寸,您看不到文字。您无法滚动到文本的部分原因是您添加textarea和滚动条的方式不正确。更好的方法是:

    frame1.setLayout(new BorderLayout());
    ...
    //delete the addition of the textarea to the frame, you already put it in the scroll pane.
    frame1.getContentPane().add(scrollingArea, BorderLayout.CENTER);

答案 1 :(得分:1)

替换:

JTextArea jtextarea = new JTextArea();

而不是:

JTextArea jtextarea = new JTextArea(200, 200);

构造函数的文档说参数不是像素:

  

使用构造一个新的空TextArea   指定的行数和   列。创建默认模型,   并且初始字符串为空。