对话框居中的3种方法:

1.

int width = shell.getMonitor().getClientArea().width;
int height = shell.getMonitor().getClientArea().height;
int x = shell.getSize().x;
int y = shell.getSize().y;
if (x > width) {
    shell.getSize().x = width;
}
if (y > height) {
    shell.getSize().y = height;
}
shell.setLocation((width - x) / 2, (height - y) / 2);


2.
Rectangle bounds = Display.getDefault().getPrimaryMonitor().getBounds();
Rectangle rect = shell.getBounds();
int x = bounds.x + (bounds.width - rect.width) / 2;
int y = bounds.y + (bounds.height - rect.height) / 2;
shell.setLocation(x, y);

 

3.

int screenH = Toolkit.getDefaultToolkit().getScreenSize().height;
int screenW = Toolkit.getDefaultToolkit().getScreenSize().width;
int shellH = shell.getBounds().height;
int shellW = shell.getBounds().width;
if(shellH > screenH)
shellH = screenH;
if(shellW > screenW)
shellW = screenW;
shell.setLocation(((screenW - shellW) / 2), ((screenH - shellH) / 2));

相关文章:

  • 2021-04-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-22
  • 2021-11-08
猜你喜欢
  • 2021-12-01
  • 2021-10-07
  • 2021-10-05
  • 2021-09-16
  • 2021-10-27
  • 2021-08-22
相关资源
相似解决方案