Java TextArea 和 JScrollPane

标签 java swing jscrollpane jtextarea

我搜索了有关将滚动条附加到文本区域的信息,并找到了一些答案。尝试按照建议中的说明进行修复,但似乎仍然无效。 我的文本区域变得越来越长,即使我试图制作一个静态文本区域。

想知道我在这里做错了什么:

import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;

public class Ovning20 extends JFrame {
    private JPanel p1 = new JPanel();
    private JTextArea ta1;
    JScrollPane scroll;

    public Ovning20()
    {
        setSize(400,200);
        setLocation(500, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setResizable(false);

        ta1 = new JTextArea();
        ta1.setEditable(true);
        ta1.setBorder(new TitledBorder(new EtchedBorder(), "Skriv in något:"));

        scroll = new JScrollPane(ta1, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

        ta1.setAutoscrolls(true);
        ta1.setColumns (20);
        ta1.setRows(3);

        ta1.setLineWrap (true);
        ta1.setWrapStyleWord (true); //default

        p1.add(ta1);
        p1.add(scroll);
        add(p1);
        setVisible(true);
    }

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

最佳答案

删除语句

p1.add(ta1); 

这是将文本区域添加到面板 p1 并有效地将其从其滚动 Pane 父级中移除(因为组件只能有一个父级组件)

关于Java TextArea 和 JScrollPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29656334/

相关文章:

java - 插入组件后使 JScrollPane 滚动到底部的正确方法是什么?

Java Swing 。 ScrolPane 内的 TextField 不完全可见

java - 无法在滚动 Pane 上滚动 - Java Swing

java - 将 TaskExecutor 与 PublishSubscribeChannel 结合使用

java - 如何在窗口中的任何位置找到关键监听器

java - 从 Fragment 外部更新 TextView

java - 国际象棋/Java : "Moved Out Of Check" Check in Java

java - 获取在 jpanel 上单击的顶点的索引

java - 如何与其他线程的事件派发线程或 swing 组件进行通信?

java.sql.SQLException : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. 预期 2