小编典典

如何在中央屏幕上放置表格?

java

我是.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。还是如果上面的代码正确,我将在哪个事件上放?

感谢您阅读本文。


阅读 279

收藏
2020-12-03

共1个答案

小编典典

在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);
2020-12-03