Improve display Java version

This commit is contained in:
Glavo 2021-10-13 21:32:36 +08:00 committed by Yuhui Huang
parent 0a54037460
commit b4e7934396
7 changed files with 23 additions and 8 deletions

View File

@ -432,7 +432,8 @@ public final class LauncherHelper {
}
}
if (javaVersion.getBits() != Architecture.SYSTEM_ARCH.getBits()) {
if (Architecture.SYSTEM_ARCH == Architecture.X86_64
&& javaVersion.getPlatform().getArchitecture() == Architecture.X86) {
Controllers.dialog(i18n("launch.advice.different_platform"), i18n("message.warning"), MessageType.ERROR, continueAction);
suggested = true;
}

View File

@ -48,6 +48,7 @@ import org.jackhuang.hmcl.util.Logging;
import org.jackhuang.hmcl.util.io.FileUtils;
import org.jackhuang.hmcl.util.javafx.BindingMapping;
import org.jackhuang.hmcl.util.javafx.SafeStringConverter;
import org.jackhuang.hmcl.util.platform.Architecture;
import org.jackhuang.hmcl.util.platform.JavaVersion;
import org.jackhuang.hmcl.util.platform.OperatingSystem;
import org.jackhuang.hmcl.util.versioning.VersionNumber;
@ -545,9 +546,19 @@ public final class VersionSettingsPage extends StackPane implements DecoratorPag
memoryStatus.set(OperatingSystem.getPhysicalMemoryStatus().orElse(OperatingSystem.PhysicalMemoryStatus.INVALID));
Task.supplyAsync(JavaVersion::getJavas).thenAcceptAsync(Schedulers.javafx(), list -> {
boolean isX86 = (Architecture.CURRENT_ARCH == Architecture.X86 || Architecture.CURRENT_ARCH == Architecture.X86_64)
&& list.stream()
.map(java -> java.getPlatform().getArchitecture())
.allMatch(arch -> arch == Architecture.X86 || arch == Architecture.X86_64);
// boolean showSystem = list.stream().anyMatch(java -> java.getPlatform().getOperatingSystem() != OperatingSystem.CURRENT_OS);
List<MultiFileItem.Option<JavaVersion>> options = list.stream()
.map(javaVersion -> new MultiFileItem.Option<>(javaVersion.getVersion() + i18n("settings.game.java_directory.bit",
javaVersion.getBits().getBit()), javaVersion)
.map(javaVersion -> new MultiFileItem.Option<>(
i18n("settings.game.java_directory.template",
javaVersion.getVersion(),
isX86 ? i18n("settings.game.java_directory.bit",javaVersion.getBits().getBit())
: javaVersion.getPlatform().getArchitecture().getDisplayName()), javaVersion)
.setSubtitle(javaVersion.getBinary().toString()))
.collect(Collectors.toList());
options.add(0, javaAutoDeterminedOption);

View File

@ -829,8 +829,9 @@ settings.game.exploration=Explore
settings.game.fullscreen=Fullscreen
settings.game.java_directory=Java Directory
settings.game.java_directory.auto=Automatically selected
settings.game.java_directory.bit=, %s-Bit
settings.game.java_directory.bit=%s-Bit
settings.game.java_directory.choose=Choose Java Directory.
settings.game.java_directory.template=%s (%s)
settings.game.management=Manage
settings.game.working_directory=Working Directory
settings.game.working_directory.choose=Choose Working Directory

View File

@ -355,7 +355,7 @@ settings.game.dimension=Dimensiones de ventana de juego
settings.game.exploration=Explorar
settings.game.fullscreen=Pantalla completa
settings.game.java_directory=Directorio Java
settings.game.java_directory.bit=, %s-Bit
settings.game.java_directory.bit=%s-Bit
settings.game.java_directory.choose=Escoja directorio Java.
settings.game.management=Gestionar
settings.game.working_directory=Directorio de función

View File

@ -372,7 +372,7 @@ settings.game.dimension=Размер окна игры
settings.game.exploration=Исследовать
settings.game.fullscreen=На весь экран
settings.game.java_directory=Каталог Java
settings.game.java_directory.bit=, %s-бит
settings.game.java_directory.bit=%s-бит
settings.game.java_directory.choose=Выбор каталога Java.
settings.game.management=Управление
settings.game.working_directory=Рабочий каталог

View File

@ -828,8 +828,9 @@ settings.game.exploration=瀏覽
settings.game.fullscreen=全螢幕
settings.game.java_directory=Java 路徑
settings.game.java_directory.auto=自動選擇合適的 Java
settings.game.java_directory.bit=%s 位
settings.game.java_directory.bit=%s 位
settings.game.java_directory.choose=選擇 Java 路徑
settings.game.java_directory.template=%s%s
settings.game.management=管理
settings.game.working_directory=執行路徑(版本隔離,修改後請自行移動相關遊戲檔案,如存檔模組設定等)
settings.game.working_directory.choose=選擇執行路徑

View File

@ -828,8 +828,9 @@ settings.game.exploration=浏览
settings.game.fullscreen=全屏
settings.game.java_directory=Java 路径
settings.game.java_directory.auto=自动选择合适的 Java
settings.game.java_directory.bit=%s 位
settings.game.java_directory.bit=%s 位
settings.game.java_directory.choose=选择 Java 路径
settings.game.java_directory.template=%s%s
settings.game.management=管理
settings.game.working_directory=版本隔离(修改后请自行移动相关游戏文件,如存档模组配置等)
settings.game.working_directory.choose=选择运行路径