我是.Net开发人员,但出于某种原因,我不知为何要用java创建一个简单的应用程序。我能够创建该应用程序,但是我的问题是启动应用程序时如何在屏幕上居中放置表单?
这是我的代码:
private void formWindowActivated(java.awt.event.WindowEvent evt) { // Get the size of the screen Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // Determine the new location of the window int w = this.getSize().width; int h = this.getSize().height; int x = (dim.width-w)/2; int y = (dim.height-h)/2; // Move the window this.setLocation(x, y); }
上面的代码工作正常,但问题是我已经看到表格从最左上角移到中间屏幕。我还尝试在formWindowOpened事件中添加该代码,但仍显示相同的操作。有更好的方法吗?就像.NET Application里面有一个CenterScreen Position。还是如果上面的代码正确,我将在哪个事件上放?
formWindowOpened
.NET Application
CenterScreen Position
感谢您阅读本文。
在JFrame上调用pack后,只需将相对于null的位置设置为空即可。
例如,
JFrame frame = new JFrame("FooRendererTest"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(mainPanel); // or whatever... frame.pack(); frame.setLocationRelativeTo(null); // *** this will center your app *** frame.setVisible(true);