我正在修改使用NetBeans 6.9.1制作的Java桌面应用程序。无论我做什么,我都无法改变主应用程序的大小,也无法集中它。
Netbeans使用了一种叫做FrameView的东西,它扩展了JFrame。所以没有Jframe对象是直接可用的
我已经试过了
this.getFrame().setLocationRelative(null);
this.getFrame().setSize(whatever,whatever);
以上2条无效
也不能在GUI Builder中找到任何选项
我有一种感觉,这个问题可能已经问过了,但我没有找到正确的答案
有了@MadProgrammers的提示,我想出了最糟糕的解决方案
Netbeans视图文件有一个类(我们的应用程序),它扩展了FrameView(Netbeans原生类)。这个类在{}app.java文件中实例化。这个类有一个调用initComponent()方法的构造函数。但是在构造函数完成后重载一些属性(MadProgrammers) ..我能够通过在构造函数结束之前编写以下代码来解决这个问题,每次解决方案都有效,但我有一种感觉,stackoverflow会杀了我:)
final JFrame f=this.getFrame();
Runnable r1 = new Runnable() {
public void run() {
try {
Thread.sleep(200L);
f.setLocationRelativeTo(null);
} catch (InterruptedException iex) {}
}
};
Thread thr1 = new Thread(r1);
thr1.start();