From bc44e61fde03c90cd7440ba3784785000b99e457 Mon Sep 17 00:00:00 2001 From: RememBerBer Date: Wed, 17 Nov 2021 22:05:16 +0800 Subject: [PATCH] cpu form first step --- .../luoboduner/moo/info/ui/form/CpuForm.form | 129 ++++++++++++++++- .../luoboduner/moo/info/ui/form/CpuForm.java | 82 ++++++++++- .../moo/info/ui/form/CpuFormLayoutDesign.form | 137 ++++++++++++++++++ .../moo/info/ui/form/CpuFormLayoutDesign.java | 117 +++++++++++++++ 4 files changed, 462 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/luoboduner/moo/info/ui/form/CpuFormLayoutDesign.form create mode 100644 src/main/java/com/luoboduner/moo/info/ui/form/CpuFormLayoutDesign.java 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; + } + +}