我的问题是JScrollPane
未在其中显示JTable
。当我在没有JScrollPane
的情况下初始化表时,一切都很完美。
如何让JScrollPane
无法隐藏JTable
?
private void initComponents() {
setLayout(new GroupLayout());
add(getJComboBox0(), new Constraints(new Leading(24, 284, 12, 12), new Leading(45, 10, 10)));
add(getJLabel0(), new Constraints(new Leading(24, 12, 12), new Leading(17, 12, 12)));
add(getJButton1(), new Constraints(new Leading(320, 12, 12), new Leading(86, 10, 10)));
add(getJButton0(), new Constraints(new Leading(320, 126, 12, 12), new Leading(45, 12, 12)));
add(getJScrollPane1(), new Constraints(new Leading(25, 282, 12, 12), new Bilateral(82, 12, 26, 403)));
setSize(1200, 650);
}
private JScrollPane getJScrollPane1() {
if (jScrollPane1 == null) {
jScrollPane1 = new JScrollPane();
jScrollPane1.setViewportView(getJTable1());
}
return jScrollPane1;
}
private JTable getJTable1() {
if (testCaseTable == null) {
ProjectTableModel ptm =new ProjectTableModel();
testCaseTable = new JTable();
testCaseTable.setModel(ptm);
}
return testCaseTable;
}
答案 0 :(得分:1)
如果没有看到您的代码,很难回答,但请确保您将JScrollPane
添加到JFrame
,而不是JTable
。
因此对于没有滚动的表格,你可以这样做......
add(myTable);
要添加滚动,请执行此操作...
add(new JScrollPane(myTable));
现在我可以看到你的代码,我会改变这一行......
jScrollPane1 = new JScrollPane();
jScrollPane1.setViewportView(getJTable1());
简单地说就是这个......
jScrollPane1 = new JScrollPane(getJTable1());
另外,正如@alain指出的那样,以下行不应该编译......
setLayout(new GroupLayout());
那么你为什么不把它改成这个,然后尝试一下......
setLayout(new GroupLayout(this));
答案 1 :(得分:1)
您提供的代码无法编译:
setLayout(new GroupLayout());
class GroupLayout没有空构造函数。
用以下内容替换它:
setLayout(new GridLayout());