1

如何将 a 定位在 aJButtonJTable?什么样的布局?如何?我有一个JTable可滚动的表格,表格位于框架中。

4

4 回答 4

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

如果您不想调整此按钮的大小,只需添加JPanelcontentPane. 这JPanel应该包含使用几乎任何布局居中的按钮。

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

于 2012-05-16T16:43:08.010 回答
3

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

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

于 2012-05-16T16:39:01.790 回答
1

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

GroupLayout - 由 NetBeans 团队于 2005 年推出,集成在 WindowsBuilder Pro 中,是在 Java 中用更少的时间创建良好 gui 的最方便的方法之一。

于 2012-05-16T16:41:41.903 回答
-1

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

于 2012-05-16T16:30:36.643 回答