Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Eclipse在JavaGUI JTextArea中进行滚动?_Java_Swing_Jscrollpane_Jtextarea - Fatal编程技术网

如何使用Eclipse在JavaGUI JTextArea中进行滚动?

如何使用Eclipse在JavaGUI JTextArea中进行滚动?,java,swing,jscrollpane,jtextarea,Java,Swing,Jscrollpane,Jtextarea,我试图在JtextArea中放置多行文本,但没有滚动,因此我无法移动查看默认JtextArea区域下方的任何数据,这是代码,textArea\u 1是JtextArea: String abc=""; for(int i=0; i<=100; i++){ abc = abc + data[i][0]+"\n"; } textArea_1.setText(abc); String abc=”“; 对于(inti=0;i,您需要考虑添加JScrollPane 链接: 滚动由JScrollPa

我试图在
JtextArea
中放置多行文本,但没有滚动,因此我无法移动查看默认
JtextArea
区域下方的任何数据,这是代码,
textArea\u 1
JtextArea

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

对于(inti=0;i,您需要考虑添加
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);
            }
        });
    }
}

导入java.awt.BorderLayout;
导入java.awt.EventQueue;
导入javax.swing.JFrame;
导入javax.swing.JScrollPane;
导入javax.swing.JTextArea;
导入javax.swing.UIManager;
导入javax.swing.UnsupportedLookAndFeelException;
公共类TestScrollPane04{
公共静态void main(字符串[]args){
新的TestScrollPane04();
}
公共TestScrollPane04(){
invokeLater(新的Runnable(){
@凌驾
公开募捐{
试一试{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}捕获(ClassNotFoundException ex){
}catch(实例化异常){
}捕获(非法访问例外){
}捕获(无支持的LookandFeelexception ex){
}
JTextArea textArea=新的JTextArea(10,20);
字符串abc=“”;

对于(int i=0;i您应该添加一个
JScrollPane

JscrollPane myScroll=new JScrollPane(textArea_1);
如果您的文本大于此值,则可以通过滚动查看其他文本。默认情况下,当您
设置
文本附加到
JTextArea
时,它会滚动到末尾(您可以看到,如果文本较大,则滚动条会出现)。因此,要滚动回第一行,请尝试

textArea_1.setCaretPosition(0);

请看

对于我的情况,每一行都只是几个数字,这会影响什么吗?@macaugmxus请告诉我们您如何尝试将
JScrollPane
添加到您的代码中,以便我们可以帮助解决问题。@macaugmxus对我来说工作得非常好。请看我的代码有contentPane.add(textArea_1);我使用windowsbuilder使gui看起来与您的示例有所不同…显示SSCCE-答案中提供的解决方案通常有效,因此您在其他地方做错了
textArea_1.setCaretPosition(0);