繁体   English   中英

在NetBeans中将JFrame设置为Screen的中心

[英]Set JFrame to center of Screen in NetBeans

我正在使用NetBeans开发一个java swing桌面应用程序,我想将JFrame设置为屏幕的中心。

从网上我明白我可以使用

setLocationRelativeTo(null);

将框架设置为中心但是我无法将代码插入NetBeans IDE,因为frame.pack()frame.setVisible()都是NetBeans 7 IDE的生成代码,并且不允许任何代码插入这两种方法。

我需要获得以下内容:

frame.pack() 
setLocationRelativeTo(null);
frame.setVisible()

有关如何解决问题的任何建议?

属性 - >代码 - >签出生成中心

在框架的构造函数,你有这个:

public frame() {     
   initComponents();
}

你只需要输入这一行:“this.setLocationRelativeTo(null);” 在“initComponents();”下

你会有这个:

public frame() {     
   initComponents();
   this.setLocationRelativeTo(null);
}

运行它,框架应显示在屏幕的中心=)

请遵循以下简单步骤:

  • 选择框架并转到属性。
  • 单击代码部分,然后单击复选框Generate Center。

而已。

我不确定你是否得到了问题的答案,但是Wade Chandler在NetBeans论坛上给出了以下链接的解决方案。 不幸的是,被回答的查询的发起者至少可以说不耐烦,你必须通过一些焦虑才能得到答案。

http://forums.netbeans.org/ptopic37419.html

Wade展示了如何使GUI居中,以及您可以修改的代码的哪些方面。

另外,如果您想将GUI放在屏幕上的设定位置,那么您可以使用:

这需要访问Properties - > Code窗口。 1.确保选择Frame(不是组件或外部!)2。转到JFrame的属性窗口中的Code选项卡。 3.找到“表单大小策略”标签。 4.在下拉列表中选择“生成调整大小代码”。 5.单击旁边的“...”修改表单位置。 6.此外,还要确保选中“生成大小”。

如果要将GUI放在屏幕的左上角,请使用默认的[0,0]作为表单位置。 在第一次使用[450,0]旁边定位第二个GUI。 在这种情况下,x值已更改为450,Y值保持为0.要将GUI向下移动到屏幕,然后将Y值从0更改为450。

最后,有一个NetBeans错误226740在尝试集中GUI的某些方面时可能会导致问题。 它可能不会影响你,但要注意它是有用的。

问候

德里克

生成的代码是setVisible()吗? 奇怪。 无论如何,您可以在Navigator右键单击JFrame ,然后选择“ Properties 转到Code并选择它什么都不做。 然后在JFrame构造函数中的initComponents()之后手动插入代码。

来自链接@DerekMannering发布:

Netbeans实际上通过属性使用生成居中逻辑,因此您将看不到setLocationRelativeTo选项。 转到属性窗口中的“代码”选项卡。 在“代码”选项卡中找到“表单大小策略”标签。 在下拉列表中选择“生成调整大小代码”。 然后确保选中标签为“Generate Center”的属性。 你也想确保检查“生成大小”。 应该默认,但你应该检查。 现在,这将最适合JFrame或Frame扩展。

在Netbeans Designer区域中,选择您的JFrame,转到代码。

在代码中,将表单大小策略更改为“生成调整大小代码”

然后选择Generate Center Option。

  • 在构造函数编写下面给出代码将使您的jframe位于屏幕的中心

     public ProjectWork_jframe() { initComponents(); Dimension screenSize,frameSize; int x,y; screenSize=Toolkit.getDefaultToolkit().getScreenSize(); frameSize=getSize(); x=(screenSize.width-frameSize.width)/2; y=(screenSize.height-frameSize.height)/2; setLocation(x, y); } 

尝试....

public class_name{
     initComponents();
        setLocationRelativeTo(this);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM