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); Controllers.dialog(i18n("launch.advice.different_platform"), i18n("message.warning"), MessageType.ERROR, continueAction);
suggested = true; 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.io.FileUtils;
import org.jackhuang.hmcl.util.javafx.BindingMapping; import org.jackhuang.hmcl.util.javafx.BindingMapping;
import org.jackhuang.hmcl.util.javafx.SafeStringConverter; 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.JavaVersion;
import org.jackhuang.hmcl.util.platform.OperatingSystem; import org.jackhuang.hmcl.util.platform.OperatingSystem;
import org.jackhuang.hmcl.util.versioning.VersionNumber; 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)); memoryStatus.set(OperatingSystem.getPhysicalMemoryStatus().orElse(OperatingSystem.PhysicalMemoryStatus.INVALID));
Task.supplyAsync(JavaVersion::getJavas).thenAcceptAsync(Schedulers.javafx(), list -> { 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() List<MultiFileItem.Option<JavaVersion>> options = list.stream()
.map(javaVersion -> new MultiFileItem.Option<>(javaVersion.getVersion() + i18n("settings.game.java_directory.bit", .map(javaVersion -> new MultiFileItem.Option<>(
javaVersion.getBits().getBit()), javaVersion) 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())) .setSubtitle(javaVersion.getBinary().toString()))
.collect(Collectors.toList()); .collect(Collectors.toList());
options.add(0, javaAutoDeterminedOption); options.add(0, javaAutoDeterminedOption);

View File

@@ -829,8 +829,9 @@ settings.game.exploration=Explore
settings.game.fullscreen=Fullscreen settings.game.fullscreen=Fullscreen
settings.game.java_directory=Java Directory settings.game.java_directory=Java Directory
settings.game.java_directory.auto=Automatically selected 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.choose=Choose Java Directory.
settings.game.java_directory.template=%s (%s)
settings.game.management=Manage settings.game.management=Manage
settings.game.working_directory=Working Directory settings.game.working_directory=Working Directory
settings.game.working_directory.choose=Choose 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.exploration=Explorar
settings.game.fullscreen=Pantalla completa settings.game.fullscreen=Pantalla completa
settings.game.java_directory=Directorio Java 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.java_directory.choose=Escoja directorio Java.
settings.game.management=Gestionar settings.game.management=Gestionar
settings.game.working_directory=Directorio de función settings.game.working_directory=Directorio de función

View File

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

View File

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

View File

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