Java JScrollPane中的文件文本和复选框

Java JScrollPane中的文件文本和复选框,java,swing,Java,Swing,我正在尝试在swings中的滚动窗格中设置textarea和checkbox。我的代码如下所示: import java.awt.Component; import java.awt.Container; import java.awt.GridLayout; import java.io.BufferedReader; import java.io.FileReader; import javax.swing.AbstractButton; import javax.swing.JCheckB

我正在尝试在swings中的滚动窗格中设置textarea和checkbox。我的代码如下所示:

import java.awt.Component;
import java.awt.Container;
import java.awt.GridLayout;
import java.io.BufferedReader;
import java.io.FileReader;
import javax.swing.AbstractButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class ScrollBar {    
    public static void main(String[] args) throws Exception{
        ScrollBar s = new ScrollBar();
        JFrame.setDefaultLookAndFeelDecorated(true);
        JFrame frame = new JFrame ();
        JTextArea textArea = new JTextArea ();
        textArea.setLineWrap(true);
        textArea.setWrapStyleWord(true);        
        JPanel panel = new JPanel();
        panel.setAlignmentX(10);
        panel.setAlignmentY(10);
        panel.setSize(330, 240);        
        panel.setLayout(new GridLayout(100,0));     
        FileReader inputFile = new FileReader("license.txt");
        BufferedReader br = new BufferedReader(inputFile);
        textArea.read(br, null);
        panel.add(textArea);
        JCheckBox j = new JCheckBox("I accept");
        panel.add(j);
        textArea.setEditable(false);
        JScrollPane scroll = new JScrollPane (panel, 
        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        frame.add(scroll);
        frame.setTitle("License");
        frame.setSize(430,270); 
        frame.setVisible(true);  
    }
}
这是工作正常,但我得到我接受复选框后,许多行文字结束时

输出屏幕

谁能帮我一下,让我知道如何去掉空格。

伪代码

  • 创建面板。设置为边框布局
  • 在滚动面板中换行文本区域,并将滚动面板添加到中心
  • 将复选框添加到南方

  • 您正在创建一个包含100行的gridlayout,这是您真正想要的吗?您真的需要在滚动窗格中同时使用这两个行吗?将文本区域放在自己的滚动窗格中,并将复选框(可能)放在南部位置,不是更好吗,在滚动窗格下?这有助于在单击复选框之前读取整个文件。我认为我应该使用GridBagLayout,因为我需要不均匀的行/列间距,并且GridBagLayout提供了一个具有统一大小布局的矩形布局。