Java 调整Jtable的大小以填充JFrame并仍滚动
我正在尝试调整选项卡视图中滚动面板中的两个JTable的大小。我已经成功地将框架的大小设置为120005000,但是Jtable/scrollPanel没有发挥作用 我找到一些代码来设置工作表的列的大小,但是它没有填充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
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
时,它应该可以工作