Java SWT - 缩放后的背景图像在编译后不起作用
Java SWT - Scaled Background Image Not Working After Compiled
这是我的代码
shell.setFullScreen(true);
shell.setMaximized(true);
shell.setText("SD Cyber Cafe");
shell.setLayout(new FormLayout());
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Image oriImage = new Image(display, "C:\Users\LAPTOP-SYAMSOUL\Desktop\lockscreen_app\main_bg.jpeg"); //should get from database
//System.out.println(screenSize.width);
Image newImage = new Image(display, oriImage.getImageData(100).scaledTo(screenSize.width, screenSize.height));
shell.setBackgroundImage(newImage);
当我通过 eclipse 运行 应用程序时,它工作正常...
但是我导出到Runnable JAR
后背景图片没有缩放...为什么??
这是我所期望的:
..
..
..
但目前显示如下:(我不想要这个):
很难从这段代码中确定,但 Toolkit
是一种 Swing/AWT 方法,不应与 SWT 一起使用。它很可能给出了错误的值。
使用类似以下内容获取主要显示尺寸:
Rectangle displayArea = shell.getDisplay().getPrimaryMonitor().getBounds();
它告诉您有关主要(主要)监视器的信息或
Rectangle displayArea = shell.getMonitor().getBounds();
它告诉您 shell 将出现在哪个显示器上(如果有多个显示器,可能会有所不同)。
这是我的代码
shell.setFullScreen(true);
shell.setMaximized(true);
shell.setText("SD Cyber Cafe");
shell.setLayout(new FormLayout());
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Image oriImage = new Image(display, "C:\Users\LAPTOP-SYAMSOUL\Desktop\lockscreen_app\main_bg.jpeg"); //should get from database
//System.out.println(screenSize.width);
Image newImage = new Image(display, oriImage.getImageData(100).scaledTo(screenSize.width, screenSize.height));
shell.setBackgroundImage(newImage);
当我通过 eclipse 运行 应用程序时,它工作正常...
但是我导出到Runnable JAR
后背景图片没有缩放...为什么??
这是我所期望的:
..
..
..
但目前显示如下:(我不想要这个):
很难从这段代码中确定,但 Toolkit
是一种 Swing/AWT 方法,不应与 SWT 一起使用。它很可能给出了错误的值。
使用类似以下内容获取主要显示尺寸:
Rectangle displayArea = shell.getDisplay().getPrimaryMonitor().getBounds();
它告诉您有关主要(主要)监视器的信息或
Rectangle displayArea = shell.getMonitor().getBounds();
它告诉您 shell 将出现在哪个显示器上(如果有多个显示器,可能会有所不同)。