我正忙于一个任务,我必须为一个简单的程序做一个图形界面。但我还在纠结于布局。
这就是我们的想法:

完成这样的布局最简单的方法是什么?
你用什么方法在java中做布局?直接编写代码,还是使用像netbeans这样的IDE?
发布于 2008-10-29 21:14:10
考虑到布局是多么的简单,我建议你使用一个BorderLayout,在容器的顶部设置为北边,在BorderLayout的中心设置JTable。对于顶部,它看起来是一个简单的BorderLayout,北边是指令:南边是黑盒(可能在一个带有FlowLayout的容器中)。顶部窗格的中心显示为2个2行2列的GridLayouts容器,因此请将其放入另一个带有GirdLayout的容器中。
因此,在伪代码中:
Container(BorderLayout)
{
@NORTH
Container(BorderLayout)
{
@NORTH
Label(Instruction);
@CENTER
Container(GridLayout(2,1))
{
Container(GirdLayout(2,2))
{
Label() TextField()
Label() TextField()
}
Container(GirdLayout(2,2))
{
Label() TextField()
Label() TextField()
}
}
@SOUTH
Container(FlowLayout())
{
JButton() //shaded thing?
}
}
@CENTER
{
JTable
}
}发布于 2008-10-29 20:54:08
,以及在java中使用什么方法进行布局。直接编写代码,还是使用像netbeans这样的IDE?
图形用户界面开发人员的NetBeans就像是小学学生的计算器:在你知道如何在没有它的情况下做事情之前,你真的不应该使用它,但这样会节省你很多时间。
(我很想回答你的主要问题,但我所在的防火墙正在阻挡这一图景。)
发布于 2008-10-29 21:42:30
我用手做了所有的东西。和Christian一样,我也有过使用GUI构建器的糟糕经历;他们要么总是拒绝正确配置几个组件,要么生成了大量不必要的代码,这使得以后的维护变得不切实际,或者两者兼而有之。
我过去常常使用GridBagLayout构建很多UI,但多年来,我从未见过不能使用嵌套BorderLayouts、GridLayouts以及偶尔使用的BoxLayout或FlowLayout构建的办公环境UI。我所见过的大约98%的东西都可以用嵌套的BorderLayouts来完成。
在您的例子中,布局组织将如bmeck所说。根据记忆,将CENTER用于JTable (记得将其放在JScrollPane中!)如果您调整JFrame的大小,JTable将获得所有额外的空间,这应该正是您想要的。对于顶部标签和字段,嵌套的GridLayouts应该确保标签和字段的每个“列”将占据相等的水平空间。(它们只能获得足够的垂直空间来完全可见,不会有更多空间,因为JTable占据了所有其他空间。)
其他的一切都只是添加边框和合理设置GridLayout填充的问题。
https://stackoverflow.com/questions/248353
复制相似问题