Jpanel在设计时*移动项目

Jpanel在设计时*移动项目

问题描述:

我对Java Swing编程非常陌生,我遇到了一个小问题。Jpanel在设计时*移动项目

当我使用Jframe和JPanels设计用户界面时,JPanel不允许在我想要的地方(设计时)拖放一个项目。比方说,我向JPanel添加一个按钮,然后按钮卡在面板的中间,我不能将它拖到我想要的位置。当我直接将项目添加到JFrame时,不会发生这种情况。

我尝试使用setBounds(int x, int y, int width, int height)方法来移动JPanel中的按钮,但它不起作用。以下图片将很好地描述我的问题。我想将JPanel中的按钮拖动到左侧,就像在JFrame中添加的按钮一样。

按钮中的JPanel - 顶部和JFrame中 - 底:

https://i.stack.imgur.com/Nwq4i.png

有没有办法将其拖放到JPanel的*掉落物品呢?

谢谢。

+4

不要使用IDE来生成您的GUI代码。而是手动编写GUI,以便您可以完全控制面板和每个面板使用的布局管理器。例如默认情况下,一个JPanel使用一个FlowLayout,其中组件居中。如果您想要左侧的按钮,则更改布局管理器以使用左对齐的组件的FlowLayout。 IDE是一个很好的工具,可以帮助您编译,调试等,但如果您使用其他IDE,生成的代码将不可移植。 – camickr

+0

谢谢你的答案@camickr。我明白你的观点。我的问题是,即使我手动编写代码,Jpanels不会使用“以组件为中心的FlowLayout”,正如您所提到的,使我的工作变得冗余?如果不是这样,我可以尝试手动设计GUI。 –

+2

我已经说过,你可以改变布局管理器使用左对齐的FlowLayout。阅读FlowLayout API。 – camickr

作为答案发布,因为我没有足够的评论声望。我看到你正在使用eclipse来构建你的GUI。但是,Netbeans IDE允许您像前面提到的那样设计界面。

手动创建GUI是一个好主意,如果你想加快这个过程,你需要使用IDE。如果你不限于Eclipse并且想要使用IDE,我会建议使用Netbeans。

+1

这不是问题的答案。另外Eclipse有它的[WindowBulder编辑器](https://www.eclipse.org/windowbuilder/)Gui设计器,所以不需要为此而切换IDE。 – c0der

+0

*“因为我没有足够的声誉发表评论”*试图规避SO的既定使用规则会吸引反对票,这反过来会延迟您发表评论的时间。不要尝试游戏系统。这是有道理的。 –

+0

感谢您的回复,但我打算手动创建GUI。 –