我想将JTable添加到布局为空的JPanel中。JPanel包含其他组件。我必须在适当的位置添加JTable。
当前回答
如果你使用空布局管理器,你总是需要设置一个组件的边界。 这就是你的问题所在。
你应该按照每个人的建议去做,使用一些布局管理器,它们可以节省时间。 去@jzd的帖子里看看教程吧。
享受吧,博罗。
其他回答
JFrame frame = new JFrame("Sample Frame");
frame.setSize(600, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
DefaultTableModel dfm = new DefaultTableModel(data, columnNames);
JTable table = new JTable(dfm);
JScrollPane scrollPane = new JScrollPane(table);
panel.add(scrollPane);
frame.add(panel);
frame.setVisible(true);
表模型取决于您的需求
JPanel panel = new JPanel();
JTable table = new JTable(rowData, colData);
JScrollPane scrollPane = new JScrollPane(table);
panel.add(scrollPane, BorderLayout.CENTER);
panel.setSize(800, 150);
panel.add(table);
panel.setLocationRelativeTo(null);
panel.setVisible(true);
希望这能有所帮助。
您可以使用以下代码。将JTable添加到JPanel。
JPanel panel = new JPanel();
this.setContentPane(panel);
panel.setLayout(null);
String data[][] = {{"1.", "ABC"}, {"2.", "DEF"}, {"3.", "GHI" }};
String col[] = {"Sr. No", "Name"};
JTable table = new JTable(data,col);
table.setBounds(100, 100, 100, 80);
panel.add(table);
setVisible(true);
setSize(300,300);
JTable应该添加到JScrollPane中,而JScrollPane实际上应该添加到JPanel中。
JPanel应该有一些布局管理器。
如果你不关心组件大小的精度,你可以使用纯BorderLayout,并将其与FlowLayout和GridLayout结合起来。如果你需要精度-使用jgoodies FormLayout。
FormLayout是非常棘手的一个,但是您可以使用WindowBuilder(嵌入到Eclipse中)并查看它生成的代码。这可能看起来很复杂,但这只是一种无知。
祝你好运。
如果你使用空布局管理器,你总是需要设置一个组件的边界。 这就是你的问题所在。
你应该按照每个人的建议去做,使用一些布局管理器,它们可以节省时间。 去@jzd的帖子里看看教程吧。
享受吧,博罗。
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder
- 将JSON字符串转换为HashMap