1

我正在尝试在 中放置多行文本JtextArea,但没有滚动,因此我无法移动以查看默认JtextArea区域下方的任何数据,这是代码,并且textArea_1JtextArea

String abc="";
for(int i=0; i<=100; i++){
abc = abc + data[i][0]+"\n";
}
textArea_1.setText(abc);
4

3 回答 3

2

您需要考虑添加一个JScrollPane.

链接:http ://docs.oracle.com/javase/7/docs/api/javax/swing/JScrollPane.html

import javax.swing.JScrollPane;
JScrollPane scrollPane = new JScrollPane(TEXTAREAHERE);
于 2013-07-18T04:34:16.863 回答
1

滚动由JScrollPane.

查看如何使用滚动窗格并供您自己参考,JScrollPane这也在如何使用文本区域中进行了演示

更新了示例

在此处输入图像描述

import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class TestScrollPane04 {

    public static void main(String[] args) {
        new TestScrollPane04();
    }

    public TestScrollPane04() {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (ClassNotFoundException ex) {
                } catch (InstantiationException ex) {
                } catch (IllegalAccessException ex) {
                } catch (UnsupportedLookAndFeelException ex) {
                }

                JTextArea textArea = new JTextArea(10, 20);
                String abc = "";
                for (int i = 0; i <= 100; i++) {
                    abc = abc + "This is some additional text " + i + "\n";
                }
                textArea.setText(abc);

                JFrame frame = new JFrame("Test");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setLayout(new BorderLayout());
                frame.add(new JScrollPane(textArea));
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }
}
于 2013-07-18T04:37:33.477 回答
0

你应该添加一个JScrollPane. 作为

JscrollPane myScroll=new JScrollPane(textArea_1);

如果您的文字不止于此,则可以通过滚动查看其他文字。默认情况下,当您setappend文本JTextArea滚动到结束时(您可以看到,如果文本很大,则出现滚动条)。所以要滚动回第一行尝试

textArea_1.setCaretPosition(0);

参见Java 文档

于 2013-07-18T07:53:56.753 回答