diff --git a/src/main/java/net/metaunix/SysInfo.java b/src/main/java/net/metaunix/SysInfo.java index 3a265dc..120dc1b 100644 --- a/src/main/java/net/metaunix/SysInfo.java +++ b/src/main/java/net/metaunix/SysInfo.java @@ -4,6 +4,10 @@ public class SysInfo { public static String osString = "N/a"; + public static double cpuTemp = 0.0; + public static long cpuFreq = 0; + public static long cpuMaxFreq = 0; + public static String javaVersion() { return System.getProperty("java.version"); } diff --git a/src/main/java/net/metaunix/controllers/HomeController.java b/src/main/java/net/metaunix/controllers/HomeController.java index aef68cc..801f196 100644 --- a/src/main/java/net/metaunix/controllers/HomeController.java +++ b/src/main/java/net/metaunix/controllers/HomeController.java @@ -12,6 +12,14 @@ public class HomeController { @FXML private Label osInfo; + @FXML + private Label overCpuTemp; + @FXML + private Label cpuCpuTemp; + @FXML + private Label cpuCpuFreq; + @FXML + private Label cpuCpuMaxFreq; @FXML public void initialize() { @@ -25,6 +33,10 @@ public class HomeController { private void updateLabels() { osInfo.setText(SysInfo.osString); + overCpuTemp.setText(String.valueOf(SysInfo.cpuTemp)); + cpuCpuTemp.setText(String.valueOf(SysInfo.cpuTemp)); + cpuCpuFreq.setText(String.valueOf(SysInfo.cpuFreq)); + cpuCpuMaxFreq.setText(String.valueOf(SysInfo.cpuMaxFreq)); } } diff --git a/src/main/java/net/metaunix/services/UpdateSystemInfoService.java b/src/main/java/net/metaunix/services/UpdateSystemInfoService.java index 4fc31af..5e514c4 100644 --- a/src/main/java/net/metaunix/services/UpdateSystemInfoService.java +++ b/src/main/java/net/metaunix/services/UpdateSystemInfoService.java @@ -1,8 +1,12 @@ package net.metaunix.services; +import java.util.Arrays; import javafx.concurrent.ScheduledService; import javafx.concurrent.Task; import oshi.SystemInfo; +import oshi.hardware.CentralProcessor; +import oshi.hardware.HardwareAbstractionLayer; +import oshi.hardware.Sensors; import oshi.software.os.OperatingSystem; import net.metaunix.SysInfo; @@ -18,9 +22,21 @@ public class UpdateSystemInfoService extends ScheduledService { @Override protected Void call() throws Exception { UpdateSystemInfoService.counter++; + SystemInfo si = new SystemInfo(); OperatingSystem os = si.getOperatingSystem(); SysInfo.osString = String.valueOf(UpdateSystemInfoService.counter) + " " + String.valueOf(os); + + HardwareAbstractionLayer hal = si.getHardware(); + Sensors sensors = hal.getSensors(); + SysInfo.cpuTemp = sensors.getCpuTemperature(); + CentralProcessor cpu = hal.getProcessor(); + SysInfo.cpuMaxFreq = cpu.getMaxFreq(); + + long[] freqs = cpu.getCurrentFreq(); + Arrays.sort(freqs); + SysInfo.cpuFreq = freqs[freqs.length - 1]; + return null; } diff --git a/src/main/resources/views/home.fxml b/src/main/resources/views/home.fxml index eb18fc3..63c07cd 100644 --- a/src/main/resources/views/home.fxml +++ b/src/main/resources/views/home.fxml @@ -37,9 +37,10 @@ + + - @@ -82,15 +83,46 @@ - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +