diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/CpuForm.form b/src/main/java/com/luoboduner/moo/info/ui/form/CpuForm.form
index 9a0f23f..5a923e1 100644
--- a/src/main/java/com/luoboduner/moo/info/ui/form/CpuForm.form
+++ b/src/main/java/com/luoboduner/moo/info/ui/form/CpuForm.form
@@ -3,10 +3,135 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/CpuForm.java b/src/main/java/com/luoboduner/moo/info/ui/form/CpuForm.java
index 8e68ede..6778a82 100644
--- a/src/main/java/com/luoboduner/moo/info/ui/form/CpuForm.java
+++ b/src/main/java/com/luoboduner/moo/info/ui/form/CpuForm.java
@@ -2,11 +2,19 @@ package com.luoboduner.moo.info.ui.form;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
+import cn.hutool.system.oshi.CpuInfo;
+import cn.hutool.system.oshi.OshiUtil;
+import com.intellij.uiDesigner.core.GridConstraints;
import com.intellij.uiDesigner.core.GridLayoutManager;
+import com.intellij.uiDesigner.core.Spacer;
+import com.luoboduner.moo.info.App;
+import com.luoboduner.moo.info.ui.UiConsts;
import lombok.Getter;
+import oshi.hardware.CentralProcessor;
import javax.swing.*;
import java.awt.*;
+import java.text.DecimalFormat;
/**
* CpuForm
@@ -17,6 +25,15 @@ import java.awt.*;
@Getter
public class CpuForm {
private JPanel mainPanel;
+ private JProgressBar scuProgressBar;
+ private JProgressBar progressBar2;
+ private JProgressBar progressBar3;
+ private JProgressBar progressBar4;
+ private JPanel pcuPanel;
+ private JPanel scuPanel;
+ private JPanel pcuProgressBarPanel;
+ private JLabel scuTitleLabel;
+ private JLabel pcuTitleLabel;
private static final Log logger = LogFactory.get();
@@ -33,13 +50,36 @@ public class CpuForm {
cpuForm = getInstance();
initUi();
- initInfo();
+ Timer timer = new Timer(UiConsts.REFRESH_FAST, e -> {
+ initInfo();
+ });
+ timer.start();
}
private static void initUi() {
+ CpuForm cpuForm = getInstance();
+ Dimension d = new Dimension(-1, 100);
+ cpuForm.getScuProgressBar().setMinimumSize(d);
+
+ CentralProcessor cpu = App.si.getHardware().getProcessor();
+ int logicalProcessorCount = cpu.getLogicalProcessorCount();
}
private static void initInfo() {
+ CpuInfo cpuInfo = OshiUtil.getCpuInfo();
+ DecimalFormat format = new DecimalFormat("#.00");
+ double cpuUsage = Double.parseDouble(format.format((100 - cpuInfo.getFree())));
+
+ CpuForm cpuForm = getInstance();
+ cpuForm.getScuProgressBar().setMaximum(100);
+ int cpuUsagePercent = (int) cpuUsage;
+ cpuForm.getScuProgressBar().setValue(cpuUsagePercent);
+ cpuForm.getScuProgressBar().setStringPainted(true);
+ cpuForm.getScuProgressBar().setString(cpuUsagePercent + "%");
+
+ Integer cpuNum = cpuInfo.getCpuNum();
+
+ CentralProcessor cpu = App.si.getHardware().getProcessor();
}
{
@@ -59,6 +99,45 @@ public class CpuForm {
private void $$$setupUI$$$() {
mainPanel = new JPanel();
mainPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
+ final JSplitPane splitPane1 = new JSplitPane();
+ splitPane1.setDividerLocation(300);
+ mainPanel.add(splitPane1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, new Dimension(200, 200), null, 0, false));
+ final JPanel panel1 = new JPanel();
+ panel1.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
+ splitPane1.setLeftComponent(panel1);
+ final JScrollPane scrollPane1 = new JScrollPane();
+ panel1.add(scrollPane1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
+ final JPanel panel2 = new JPanel();
+ panel2.setLayout(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), -1, -1));
+ scrollPane1.setViewportView(panel2);
+ scuPanel = new JPanel();
+ scuPanel.setLayout(new GridLayoutManager(2, 1, new Insets(10, 10, 10, 10), -1, -1));
+ panel2.add(scuPanel, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
+ scuTitleLabel = new JLabel();
+ scuTitleLabel.setText("System CPU Usage");
+ scuPanel.add(scuTitleLabel, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ scuProgressBar = new JProgressBar();
+ scuPanel.add(scuProgressBar, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ pcuPanel = new JPanel();
+ pcuPanel.setLayout(new GridLayoutManager(2, 1, new Insets(10, 10, 10, 10), -1, -1));
+ panel2.add(pcuPanel, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
+ pcuTitleLabel = new JLabel();
+ pcuTitleLabel.setText("Processor CPU Usage");
+ pcuPanel.add(pcuTitleLabel, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ pcuProgressBarPanel = new JPanel();
+ pcuProgressBarPanel.setLayout(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), -1, -1));
+ pcuPanel.add(pcuProgressBarPanel, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
+ progressBar2 = new JProgressBar();
+ pcuProgressBarPanel.add(progressBar2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ progressBar3 = new JProgressBar();
+ pcuProgressBarPanel.add(progressBar3, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ progressBar4 = new JProgressBar();
+ pcuProgressBarPanel.add(progressBar4, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ final Spacer spacer1 = new Spacer();
+ panel2.add(spacer1, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
+ final JPanel panel3 = new JPanel();
+ panel3.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
+ splitPane1.setRightComponent(panel3);
}
/**
@@ -67,4 +146,5 @@ public class CpuForm {
public JComponent $$$getRootComponent$$$() {
return mainPanel;
}
+
}
diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/CpuFormLayoutDesign.form b/src/main/java/com/luoboduner/moo/info/ui/form/CpuFormLayoutDesign.form
new file mode 100644
index 0000000..f9f0235
--- /dev/null
+++ b/src/main/java/com/luoboduner/moo/info/ui/form/CpuFormLayoutDesign.form
@@ -0,0 +1,137 @@
+
+
diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/CpuFormLayoutDesign.java b/src/main/java/com/luoboduner/moo/info/ui/form/CpuFormLayoutDesign.java
new file mode 100644
index 0000000..b35c3e7
--- /dev/null
+++ b/src/main/java/com/luoboduner/moo/info/ui/form/CpuFormLayoutDesign.java
@@ -0,0 +1,117 @@
+package com.luoboduner.moo.info.ui.form;
+
+import cn.hutool.log.Log;
+import cn.hutool.log.LogFactory;
+import com.intellij.uiDesigner.core.GridConstraints;
+import com.intellij.uiDesigner.core.GridLayoutManager;
+import com.intellij.uiDesigner.core.Spacer;
+import lombok.Getter;
+
+import javax.swing.*;
+import java.awt.*;
+
+/**
+ * CpuForm
+ *
+ * @author RememBerBer
+ * @since 2021/11/16.
+ */
+@Getter
+public class CpuFormLayoutDesign {
+ private JPanel mainPanel;
+ private JProgressBar scuProgressBar;
+ private JProgressBar progressBar2;
+ private JProgressBar progressBar3;
+ private JProgressBar progressBar4;
+ private JPanel pcuProgressBarPanel;
+
+ private static final Log logger = LogFactory.get();
+
+ private static CpuFormLayoutDesign cpuForm;
+
+ public static CpuFormLayoutDesign getInstance() {
+ if (cpuForm == null) {
+ cpuForm = new CpuFormLayoutDesign();
+ }
+ return cpuForm;
+ }
+
+ public static void init() {
+ cpuForm = getInstance();
+
+ initUi();
+ initInfo();
+ }
+
+ private static void initUi() {
+ }
+
+ private static void initInfo() {
+ }
+
+ {
+// GUI initializer generated by IntelliJ IDEA GUI Designer
+// >>> IMPORTANT!! <<<
+// DO NOT EDIT OR ADD ANY CODE HERE!
+ $$$setupUI$$$();
+ }
+
+ /**
+ * Method generated by IntelliJ IDEA GUI Designer
+ * >>> IMPORTANT!! <<<
+ * DO NOT edit this method OR call it in your code!
+ *
+ * @noinspection ALL
+ */
+ private void $$$setupUI$$$() {
+ mainPanel = new JPanel();
+ mainPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
+ final JSplitPane splitPane1 = new JSplitPane();
+ splitPane1.setDividerLocation(300);
+ mainPanel.add(splitPane1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, new Dimension(200, 200), null, 0, false));
+ final JPanel panel1 = new JPanel();
+ panel1.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
+ splitPane1.setLeftComponent(panel1);
+ final JScrollPane scrollPane1 = new JScrollPane();
+ panel1.add(scrollPane1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
+ final JPanel panel2 = new JPanel();
+ panel2.setLayout(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), -1, -1));
+ scrollPane1.setViewportView(panel2);
+ final JPanel panel3 = new JPanel();
+ panel3.setLayout(new GridLayoutManager(2, 1, new Insets(10, 10, 10, 10), -1, -1));
+ panel2.add(panel3, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
+ final JLabel label1 = new JLabel();
+ label1.setText("System CPU Usage");
+ panel3.add(label1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ scuProgressBar = new JProgressBar();
+ panel3.add(scuProgressBar, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ final JPanel panel4 = new JPanel();
+ panel4.setLayout(new GridLayoutManager(2, 1, new Insets(10, 10, 10, 10), -1, -1));
+ panel2.add(panel4, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
+ final JLabel label2 = new JLabel();
+ label2.setText("Processor CPU Usage");
+ panel4.add(label2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ pcuProgressBarPanel = new JPanel();
+ pcuProgressBarPanel.setLayout(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), -1, -1));
+ panel4.add(pcuProgressBarPanel, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
+ progressBar2 = new JProgressBar();
+ pcuProgressBarPanel.add(progressBar2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ progressBar3 = new JProgressBar();
+ pcuProgressBarPanel.add(progressBar3, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ progressBar4 = new JProgressBar();
+ pcuProgressBarPanel.add(progressBar4, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
+ final Spacer spacer1 = new Spacer();
+ panel2.add(spacer1, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
+ final JPanel panel5 = new JPanel();
+ panel5.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
+ splitPane1.setRightComponent(panel5);
+ }
+
+ /**
+ * @noinspection ALL
+ */
+ public JComponent $$$getRootComponent$$$() {
+ return mainPanel;
+ }
+
+}