如何将Python中的.place()方法转换为Java?

4
我正在尝试将我的Python代码转换为Java。我需要一个类似于Python的GUI,在其中可以使用widgetname.place(x,y)在窗口中任意放置对象。我想要能够指定对象在窗口中的位置。我已经尝试过GridLayoutGridBagLayoutBoxLayoutFlowLayout,但是这些都没有让我能够指定x和y坐标来放置我的对象(文本框、标签、按钮)到我想要的任何地方。我需要能够使用x和y坐标来指定对象在屏幕上的位置。
有人有什么想法吗?
3个回答

4
这可以通过将LayoutManager设置为null来实现,但这是极不推荐的,因为它破坏了布局的目的,即使在外观、屏幕分辨率等方面都能拥有好看的窗口。
最好还是学习如何使用布局管理器,因为这是设计GUI的良好方法。

3

这里有一个Swing教程,它提供了一个简明的示例来绝对定位部件。


1
如果你开始使用布局管理器,我建议使用TableLayout,因为它比GridBagLayout更容易使用和更强大。

http://java.sun.com/products/jfc/tsc/articles/tablelayout/

希望你的绝对定位需求相对较小,因为如果用户调整窗口大小,它就不够灵活,而且你的组件需要改变大小。如果你想构建一个渲染到X、Y以绘制图形的组件,可以子类化JComponent并重写paint()方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接