Java JTable策略。表格下方gridBagLayout面板上的空白空间。

Java JTable策略。表格下方gridBagLayout面板上的空白空间。,java,swing,jtable,gridbaglayout,Java,Swing,Jtable,Gridbaglayout,这是这个问题的继续,这次框架只有一个表和一个JTextArea。在表和JTextArea之间可以看到一个很大的空白区域。这是myPanel.java: import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JT

这是这个问题的继续,这次框架只有一个表和一个JTextArea。在表和JTextArea之间可以看到一个很大的空白区域。这是myPanel.java:

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;

public class myPanel extends JPanel {
    public myPanel() { // Creating a vertical Box layout with five sections, placing jpanels there

        //First panel with a table

        String[] columnNames = {"First", "Second", "Third", "Fourth"};
        Object[][] data = {{"11", "12", "13", "Forteen"},{"21", "22", "23", "Twenty four"}}; 
        JScrollPane scrollPane1 = new JScrollPane(new JTable(data, columnNames));

        //Second panel with a text area

        JTextArea ecnArea = new JTextArea(10, 20);        
        ecnArea.setText("");
        ecnArea.setName("Note");
        //ecnArea.setLineWrap(true);
        //ecnArea.setWrapStyleWord(true);
        JScrollPane myScrollBar = new JScrollPane(ecnArea);  

        //Placing everything in a container
        this.setLayout(new GridBagLayout());

        GridBagConstraints c = new GridBagConstraints();
        c.anchor =GridBagConstraints.CENTER;
        c.fill = GridBagConstraints.BOTH;
        c.weightx = 0.5;
        c.weighty=0.5;
        c.gridx = 0;
        c.gridy = 0;
        this.add(scrollPane1, c);        
        c.gridy++;
        this.add(myScrollBar, c);
    }
}

为什么它会出现?如何删除它?

您应该添加以下行:

JTable table = new JTable(data, columns);
table.setPreferredScrollableViewportSize(new Dimension(500,60));
JScrollPane scrollPanel = new JScrollPane(table);
//scrollPanel.getViewport().setBackground(color.WHITE; //optional, but looks nicer
您还需要导入尺寸和颜色