gpt4 book ai didi

java - 调整 Jtable 的大小以填充 JFrame 并且仍然滚动

转载 作者:行者123 更新时间:2023-12-01 19:09:40 26 4
gpt4 key购买 nike

我正在尝试调整选项卡 View 中的scrollPanel 中的两个JTable 的大小。我已成功将框架的大小设置为 12000、5000,但 Jtable/scrollPanel 无法正常工作。

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

任何人都可以想出一种方法让表格填满框架并仍然可以滚动吗?

表文件是:

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);
}
}

Fram 文件是:

public class ViewInTabbs extends JFrame {

JLabel Average = new JLabel("Click a table row to get the average price");

public ViewInTabbs() {

JTabbedPane tabs = new JTabbedPane();
ViewInTablePetShope petShop = new ViewInTablePetShope();
ViewInTablePET pet = new ViewInTablePET();

tabs.add("Pet Shope", (JPanel) petShop);
tabs.add("Pets in the shop", (JPanel) pet);
this.setTitle("Tabb View of Data");
this.add(tabs, BorderLayout.CENTER);
this.setSize(12000, 5000);
this.setVisible(true);
this.add(Average, BorderLayout.SOUTH);
}
public void setAverage(String ave) {
this.Average.setText(ave);
}
}

最佳答案

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

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

关于java - 调整 Jtable 的大小以填充 JFrame 并且仍然滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8729460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com