Java相对定位Java形式的未修饰jframe中的swing组件

Java相对定位Java形式的未修饰jframe中的swing组件,java,swing,position,center,Java,Swing,Position,Center,我需要创建一个登录界面,以全屏方式打开(在所有显示分辨率下工作),但没有装饰(真)。 我可以创建预期的jframe,但如何将swing组件定位在jframe的中心? 这是我需要得到的 这适用于所有屏幕大小使用setBounds()方法 setBounds()方法将组件放置在JFrame窗口的所需位置。未装饰的框架仍然是框架。实际上,您可以简单地使用JWindow 这意味着,无论是装饰还是其他,您都可以按照常规布局组件。由于您要求全屏显示,我可能建议使用类似于GridBagLayout的内容作为基

我需要创建一个登录界面,以全屏方式打开(在所有显示分辨率下工作),但没有装饰(真)。 我可以创建预期的jframe,但如何将swing组件定位在jframe的中心? 这是我需要得到的 这适用于所有屏幕大小

使用setBounds()方法


setBounds()方法将组件放置在JFrame窗口的所需位置。

未装饰的框架仍然是框架。实际上,您可以简单地使用
JWindow


这意味着,无论是装饰还是其他,您都可以按照常规布局组件。由于您要求全屏显示,我可能建议使用类似于
GridBagLayout
的内容作为基础,但这就是我。

使用边框布局,此布局将帮助您将组件分配到中心

例如:`

Frame.add(GuiFieldsPanel, BorderLayout.CENTER);


在15年的专业Swing开发中,我从未找到使用空布局的理由,因为字体度量、dpi和平台间其他呈现差异的问题使得这是一个难以置信的困难和容易出错的解决方案——只需说“使用setBounds()方法”。当然,除非您想要一个可靠和健壮的GUI。javagui可能必须在许多平台上工作,在不同的屏幕分辨率上&使用不同的plaf。因此,它们不利于部件的精确放置。要组织组件以获得一个健壮的GUI,请改用布局管理器,或与布局填充和边框一起使用。感谢您的指导。为此,请使用BorderLayout并将对齐方式指定给Swing组件的中心。@Naduniyanage与此问题完全无关,您在我回答之前删除了您最近的问题。将容器背景设置为
null
以还原为继承的默认值。很抱歉劫持了这个问题。非常感谢你,杰森先生…我做了和你说的一样的事。。。它又开始工作了非常感谢你的反馈。。。。我很抱歉给您带来不便…谢谢您的快速回复。。。这里我是java新手,我想问题还不清楚。。。这是我需要做的事![在此处输入图像描述][1]是,然后单击。这似乎足够简单,GridBagLayout在您的第二行中运行得相当好
guibuttonPanel
将取代
GuiFieldsPanel
BorderLayout.CENTER
位置
BorderLayout
只能在每个位置布置一个组件。NorderLayout只允许一个组件占据其5个可用位置中的任意一个,这意味着,您不必让两个组件占据中心位置ohh..抱歉,搞错了。我将更正答案..感谢您的建议。
Frame.add(GuiFieldsPanel, BorderLayout.CENTER);
Frame.add(GuiButtonsPanel, BorderLayout.CENTER);        
Frame.setVisible(true);