Java 调整Jtable的大小以填充JFrame并仍滚动

Java 调整Jtable的大小以填充JFrame并仍滚动,java,swing,resize,jtable,Java,Swing,Resize,Jtable,我正在尝试调整选项卡视图中滚动面板中的两个JTable的大小。我已经成功地将框架的大小设置为120005000,但是Jtable/scrollPanel没有发挥作用 我找到一些代码来设置工作表的列的大小,但是它没有填充Jframe,而是在表/滚动面板的底部添加了一个滚动条 有人能想出一种方法让表格填满框架,并且仍然可以滚动吗 表文件为: public class ViewInTablePET extends JPanel { private String[][] rowData = new St

我正在尝试调整选项卡视图中滚动面板中的两个JTable的大小。我已经成功地将框架的大小设置为120005000,但是Jtable/scrollPanel没有发挥作用

我找到一些代码来设置工作表的列的大小,但是它没有填充Jframe,而是在表/滚动面板的底部添加了一个滚动条

有人能想出一种方法让表格填满框架,并且仍然可以滚动吗

表文件为:

public class ViewInTablePET extends JPanel {
private String[][] rowData = new String[0][];
private String columnNames[] = {"Shop", "Type", "price", "dateAcquired", "notes"};
private DefaultTableModel tableMod = new DefaultTableModel(rowData, columnNames);
private JTable table = new JTable(tableMod);

public ViewInTablePET() {

    String bob;
    String[] dan;

    for (Integer i = 0; i < AppModel.getArrayListPet().size(); i++) { 
        bob = AppModel.getArrayListPet().get(i).toString();
        dan = AppModel.getStringAsArray(bob, "\t");
        tableMod.insertRow(i, new Object[]{dan[0], dan[1], dan[2], dan[3], dan[4]});
    }
    JScrollPane scrollPane = new JScrollPane(table);
    this.add(scrollPane, BorderLayout.CENTER);    
}
}

啊。。二读:罪魁祸首是ViewInTablePET的LayoutManager,它默认为FlowLayout。更改为边框布局

 public ViewInTablePET() {
    super(new BorderLayout());
    // your code
    ...
 }

啊。。二读:罪魁祸首是ViewInTablePET的LayoutManager,它默认为FlowLayout。更改为边框布局

 public ViewInTablePET() {
    super(new BorderLayout());
    // your code
    ...
 }

在您的
ViewInTablePET
类中,您添加了带有约束的
JScrollPane
,其中包含
BorderLayout.CENTER
,但我没有在该类中看到
setLayout(new BorderLayout())
调用。由于默认情况下
JPanel
具有
FlowLayout
,因此不会产生预期效果。但是,当您首先将布局设置为
BorderLayout
时,它应该可以工作。在
ViewInTablePET
类中,您添加了带有约束的
JScrollPane
,BorderLayout.CENTER,但我没有在该类中看到
setLayout(new BorderLayout())
调用。由于默认情况下
JPanel
具有
FlowLayout
,因此不会产生预期效果。但是,当您首先将布局设置为
BorderLayout
时,它应该可以工作