如何在JBable下定位JButton?

时间:2012-05-16 16:22:44

标签: java swing jtable jbutton layout-manager

如何在JButton下定位JTable?什么样的布局?怎么样?我有一个JTable表,它是可滚动的,表格在一个框架中。

4 个答案:

答案 0 :(得分:4)

有许多布局可以满足这种需求。

最简单的是使用BorderLayout:

JFrame frame = new JFrame();
Container contentPane = frame.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(new JScrollPane(jtable), BorderLayout.CENTER);
contentPane.add(button, BorderLayout.SOUTH);

如果您希望不调整此按钮的大小,只需将JPanel添加到contentPane即可。这个JPanel应该包含几乎任何布局居中的按钮。

如果您想使用更复杂的布局 - 我认为最好的是MigLayout

答案 1 :(得分:3)

为了纠正LoveToCode的善意但误导性的建议,你永远不会想要给JTable本身一个布局。您的问题的解决方案不是设置JTable的布局,而是设置包含JTable的JScrollPane和JButton的JPanel的布局。可能一个BorderLayout最适合放置BorderLayout.CENTER的JScrollPane和持有JButton BorderLayout.SOUTH的JPanel。

注意,如果您要将这些组件添加到JFrame,那么请知道它的contentPane已经使用了BorderLayout(教程将告诉您 - 请阅读它们)。所以只需将这些人添加到contentPane中,如上所述。

答案 2 :(得分:1)

如果swing和awt的硬编码不是强制性的,请尝试使用WindowsBuilder Pro,现在来自谷歌的免费工具,将其插件安装到eclipse中,然后使用

GroupLayout - 由NetBeans团队于2005年推出,集成在WindowsBuilder Pro中,是在Java中用更短的时间创建优秀gui的最便捷方式之一。

答案 3 :(得分:-1)

您似乎可以设置jtable的布局,就像设置jframe或jpane的布局一样: table.setLayout(new grideLayout(4,3) 会给它一个4行3列的网格布局。 可滚动功能允许您使用移动条“滚动”您的桌子。它可能是默认功能,也可能是您必须使用它,尝试查看表格为您提供的方法。 最后,你的表应该在一个框架中,这样你就可以在你的窗口上查看它,让你的类扩展JFrame,它会自动成为你只需添加一个表格的框架!