Java JScrollPane在布局中不滚动

Java JScrollPane在布局中不滚动,java,jscrollpane,jtextarea,miglayout,Java,Jscrollpane,Jtextarea,Miglayout,在这段代码中,我试图将一个JScrollPane插入正在使用的面板中 但是,当文本到达JTextArea的末尾并继续离开屏幕时,水平或垂直方向上都没有滚动条。我不确定我做错了什么 使用txtSimple.setLineWrap(false) 使用txtSimple.setLineWrap(true) 编辑 我想要的结果是在滚动窗格上有滚动条 提供这些示例的代码是 import java.awt.*; import javax.swing.*; import java.lang.Objec

在这段代码中,我试图将一个
JScrollPane
插入正在使用的面板中

但是,当文本到达
JTextArea
的末尾并继续离开屏幕时,水平或垂直方向上都没有滚动条。我不确定我做错了什么

使用
txtSimple.setLineWrap(false)

使用
txtSimple.setLineWrap(true)

编辑

我想要的结果是在滚动窗格上有滚动条

提供这些示例的代码是

import java.awt.*;
import javax.swing.*;
import java.lang.Object.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.event.*;
import java.awt.Checkbox;

public class TextAreaSample extends JFrame implements ActionListener
{
    JFrame myMainWindow = new JFrame("This is my title");

    JTabbedPane myTabs = new JTabbedPane();

    JPanel  firstPanel = new JPanel(); //a panel for first tab

    //first panel components
    JTextArea txtSimple;
    JLabel lblSimple;
    JScrollPane myScrollTable;
    JCheckBox TextWrap;
    //end first panel

    public void runGUI()
    {
        myMainWindow.setBounds(10, 10, 800, 800); //set position, then dimensions
        myMainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        myMainWindow.setLayout(new GridLayout(1,1));

        createFirstPanel(); //call method to create each panel

        myMainWindow.getContentPane().add(firstPanel); //adds the tabbedpane to mainWindow

        myMainWindow.setVisible(true); //make the GUI appear
    }

    public void createFirstPanel()
    {
        firstPanel.setLayout(null);

        txtSimple = new JTextArea();
        txtSimple.setLineWrap(false);
        txtSimple.setWrapStyleWord(true);
        myScrollTable = new JScrollPane(txtSimple); 
        myScrollTable.setSize(700,700); 
        myScrollTable.setLocation(20,20);
        firstPanel.add(myScrollTable);
        System.out.println("Creating compare table");

        lblSimple = new JLabel();
        lblSimple.setText("Text Wrap");
        lblSimple.setSize(100,25); 
        lblSimple.setLocation(20,730);
        lblSimple.setHorizontalAlignment(JLabel.RIGHT);
        firstPanel.add(lblSimple);

        TextWrap = new JCheckBox();
        TextWrap.setLocation(125,730);
        TextWrap.setSize(25,25); 
        TextWrap.addActionListener(this);
        firstPanel.add(TextWrap);
    }

    public void actionPerformed(ActionEvent e)
    {
        if(TextWrap.isSelected())
        {
            txtSimple.setLineWrap(true);
        }

        else
        {
            txtSimple.setLineWrap(false);
        }
    }

    public static void main(String[] args)
    {
        TextAreaSample TSA = new TextAreaSample();
        TSA.runGUI();
    }
}
问题是:

spSimple = new JScrollPane(txtSimple); 
simplePanel.add(txtSimple,"width 100:100:100 , height 100:100:100");
您没有将JScrollPane添加到布局中。你需要这个:

spSimple = new JScrollPane(txtSimple); 
simplePanel.add(spSimple,"width 100:100:100 , height 100:100:100");
注意第二行中使用了
spSimple

spSimple = new JScrollPane(txtSimple); 
simplePanel.add(spSimple,"width 100:100:100 , height 100:100:100");