Я запускаю Debian Linux на Малиновой Пи 3B+. Мое приложение работает на различных мониторах с разным разрешением. Было бы здорово иметь один EXE и запускать его с масштабированием так, чтобы он занимал большую часть доступного экрана независимо от того, на каком ч/б он запущен. Следующий переключатель времени выполнения Java выглядит идеально, но я не могу заставить его работать.
java -Dsun.java2d.uiScale=0.5 -jar SBD.jar
Неважно, какое значение я передаю для масштабирования, на выходе то же самое. Я подозреваю, что это как-то связано с библиотекой - sun. Может быть, она не установлена в установке Raspbian Java? Что-то связанное с JavaFX ? Я использую NetBeans на Windows-боксе для разработки. Я использую java версию ...
$ java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+8)
OpenJDK Server VM (build 14.0.1+8, mixed mode)
Подробности о системе :-
- Original Installation
Raspberry Pi reference 2020-05-27
- Current OS
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
- Kernel
5.4.51-v7+
- Architecture
armv7l
- Model
Raspberry Pi 3 Model B Rev 1.2
- Firmware
Aug 19 2020 17:40:15
Может ли кто-нибудь помочь ?
Заранее большое спасибо, Джим Бёрк
Кстати, я не использую рабочий стол.
Просто не удалось заставить это работать и потратить много часов, чистя много форумов и документов по всей сети.
Однако я написал решение. Когда я поднимаю приложение из командной строки, пропускаю его параметр - например.
java -dsun.java2d.uiscale = 0.5 -jar sbd.jar scale = 0,75
в «Main ()» java-процедуре I извлекает значение параметра (в Double - ScaleScreen), а затем в «Start ( ) «Рутина я применяю шкалу -
Group root = new Group();
root.getChildren().addAll(mainContainer);
// Apply any scaling
root.setScaleX( scaleScreen );
root.setScaleY( scaleScreen );
более подробно доступно, если кто-то еще ищет решение.
Джим Берк