如何在设置布局为空时设置JTable的边界?

Shi*_*and 1 java layout swing jtable null-layout-manager

在我的

public UI(){

I have JTextField,JButtons and labels
I have also setLayout(null);

}
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试创建一个JTable

JTable table = new JTable(data, headers);
Run Code Online (Sandbox Code Playgroud)

但是在我取出setLayout之前它不会显示

对于我有的所有按钮,文本框和标签 setBounds();

如何在setLayout为空时显示JTable?

Caf*_*tte 5

不要使用null布局,而是使用LayoutManagers.Java为您创建了令人惊叹的布局,您只需使用它,让布局完成您的工作,而不是努力计算位置和大小.

这是我的答案,但如果你坚持使用它,只需要调用setBounds(x,y,width,height)方法JTable.但同样,不要使用绝对定位(null布局).

//....
JScrollPane scrol = new JScrollPane(table);
scrol.setBounds(table.getBounds());
//....
Run Code Online (Sandbox Code Playgroud)

  • @Shiv Chand和之前的任何事情在这里解决你帖子中的冲突`1.如何在setLayout为Null时显示JTable?`vs`2.con.add(new JScrollPane(table),BorderLayout.SOUTH);`,因为只有一种方法可以显示你的JTable,注意JTable不能为`BorderLayout.SOUTH`为空,否则会创建10 x的矩形10个像素 (2认同)