我正在开发一个java swing桌面应用程序 使用NetBeans,我想将JFrame设置为屏幕的中心。
从网上我明白我可以使用
setLocationRelativeTo(null);
将框架设置为中心
但我无法将代码插入NetBeans IDE
因为frame.pack()
和frame.setVisible()
是NetBeans 7 IDE的生成代码
并且它不允许在两种方法之间插入任何代码。
我需要获得以下内容:
frame.pack()
setLocationRelativeTo(null);
frame.setVisible()
有关如何解决问题的任何建议吗?
答案 0 :(得分:18)
属性 - >代码 - >查看生成中心
答案 1 :(得分:12)
在框架的构造函数上,你有这个:
public frame() {
initComponents();
}
你只需要输入这一行:“this.setLocationRelativeTo(null);” 在“initComponents();”
下你会得到这个:
public frame() {
initComponents();
this.setLocationRelativeTo(null);
}
运行它,框架应显示在屏幕的中心=)
答案 2 :(得分:3)
按照以下简单步骤操作:
那就是它。
答案 3 :(得分:2)
我不确定您是否得到了问题的答案,但是Wade Chandler在NetBeans论坛上通过以下链接给出了解决方案。不幸的是,被回答的查询的发起者至少不耐烦地说,你必须通过一些焦虑才能得到答案。
http://forums.netbeans.org/ptopic37419.html
Wade展示了如何使GUI居中,以及您可以修改代码的哪些方面。
顺便说一句,如果您想将GUI放在屏幕上的设定位置,那么您可以使用:
这也需要访问Properties - > Code窗口。 1.确保选择框架(不是组件或外部!) 2.转到JFrame的属性窗口中的“代码”选项卡。 3.找到“表单大小策略”标签。 4.在下拉列表中选择“生成调整大小代码”。 5.单击旁边的“...”修改表单位置。 6.此外,还要确保选中“生成大小”。
如果要将GUI放在屏幕的左上角,请使用默认的[0,0]表格位置。在第一次使用[450,0]旁边定位第二个GUI。在这种情况下,x值已更改为450,Y值保持为0.要在屏幕上移动GUI,请将Y值从0更改为450。
最后,有一个NetBeans错误226740在尝试集中GUI的某些方面时可能会导致问题。它可能不会影响你,但要注意它是有用的。
此致
德里克
答案 4 :(得分:1)
生成的代码是setVisible()
吗?奇怪。无论如何,您可以右键单击JFrame
中的Navigator
并选择Properties
。转到Code
并选择它不执行任何操作。然后在initComponents()
构造函数中JFrame
之后手动插入代码。
答案 5 :(得分:0)
从链接@DerekMannering发布:
Netbeans实际上是通过自己生成中心逻辑 属性使用,所以你不会看到setLocationRelativeTo选项。去吧 属性窗口中的“代码”选项卡。找到“表单大小策略”标签 在代码选项卡中。在下拉列表中选择“生成调整大小代码”。然后 确保选中标签为“Generate Center”的属性。 你也想确保检查“生成大小”。 应该默认,但你应该检查。现在,那会 最适合JFrame或Frame扩展。
答案 6 :(得分:0)
在Netbeans Designer区域中,选择您的JFrame,转到代码。
在代码中,将表单大小策略更改为“生成调整大小代码”
然后选择Generate Center Option。
答案 7 :(得分:0)
在构造函数中编写下面的代码将使您的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);
}
答案 8 :(得分:0)
...试
<configuration>
<connectionStrings>
<add name="F8CONNECTION" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostanme)(PORT=1111))(CONNECT_DATA=(SERVICE_NAME=db)));User Id=user;Password=pass" providerName="ORACLE" />
</connectionStrings>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" />
</handlers>
</system.webServer>
<system.web>
<customErrors mode="Off" />
<compilation targetFramework="4.0" debug="true">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Speech, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false" />
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" timeout="2880" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers