gpt4 book ai didi

java - 我已经创建了向导,我希望它始终位于中心位置,有人可以帮助我吗?

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:18 24 4
gpt4 key购买 nike

private Point getFirstMonitorSize() { // Here Point is org.eclipse.swt.graphics.Point
Display display = Display.getDefault();
if (display != null) {
Monitor[] monitors = display.getMonitors();
if (monitors.length == 1) {
Rectangle clientArea = monitors[0].getClientArea();
return new Point(clientArea.width / 2, clientArea.height / 2);
}
}
return null;
}

我发现这个用于定位,但我不知道如何在向导对话框中使用?

最佳答案

对于 Eclipse E4,您可以在 E4LifeCycle 类中添加此方法。这将使您的应用程序成为主要监视器的中心。

这将使您的应用程序 shell 位于屏幕中央,如果您在设置正确的 parent shell 的位置打开 WizardDialog,那么一切都会就位

@Inject
@Optional
public void receiveActiveShell(@Named(IServiceConstants.ACTIVE_SHELL) final Shell shell) {
try {
if (shell != null) {
final Display display = shell.getDisplay();
final Monitor primary = display.getPrimaryMonitor();
final Rectangle displayBounds = primary.getBounds();
shell.setSize(displayBounds.width - 100, displayBounds.height - 100);
final Point size = shell.getSize();
Point defaultLocation = new Point((int) (displayBounds.width - size.x) / 2, (int) (displayBounds.height - size.y) / 2);
shell.setLocation(this.defaultLocation);
}
} catch (Exception e) {
LOGGER.error("Execption ocuured in Active Shell", e); //$NON-NLS-1$
}
}

关于java - 我已经创建了向导,我希望它始终位于中心位置,有人可以帮助我吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com