From 049ea2ac71aecd8eccb7711d0b59df3946d93633 Mon Sep 17 00:00:00 2001 From: RememBerBer Date: Fri, 12 Nov 2021 13:28:40 +0800 Subject: [PATCH] oshi first --- .../java/com/luoboduner/moo/info/ui/Init.java | 2 + .../moo/info/ui/form/DetailForm.form | 2 +- .../moo/info/ui/form/DetailForm.java | 3 + .../moo/info/ui/form/MainWindow.form | 2 +- .../moo/info/ui/form/MainWindow.java | 8 +- .../moo/info/ui/form/NetworkForm.form | 8 +- .../moo/info/ui/form/NetworkForm.java | 4 +- .../moo/info/ui/form/OverviewForm.form | 8 +- .../moo/info/ui/form/OverviewForm.java | 2 + .../luoboduner/moo/info/ui/form/UsbForm.form | 38 +++++++ .../luoboduner/moo/info/ui/form/UsbForm.java | 100 ++++++++++++++++++ 11 files changed, 165 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/luoboduner/moo/info/ui/form/UsbForm.form create mode 100644 src/main/java/com/luoboduner/moo/info/ui/form/UsbForm.java diff --git a/src/main/java/com/luoboduner/moo/info/ui/Init.java b/src/main/java/com/luoboduner/moo/info/ui/Init.java index 28ee392..b10efd9 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/Init.java +++ b/src/main/java/com/luoboduner/moo/info/ui/Init.java @@ -10,6 +10,7 @@ import com.luoboduner.moo.info.ui.component.TopMenuBar; import com.luoboduner.moo.info.ui.form.DetailForm; import com.luoboduner.moo.info.ui.form.NetworkForm; import com.luoboduner.moo.info.ui.form.OverviewForm; +import com.luoboduner.moo.info.ui.form.UsbForm; import com.luoboduner.moo.info.util.SystemUtil; import com.luoboduner.moo.info.util.UIUtil; import com.luoboduner.moo.info.util.UpgradeUtil; @@ -205,6 +206,7 @@ public class Init { ThreadUtil.execute(OverviewForm::init); ThreadUtil.execute(DetailForm::init); ThreadUtil.execute(NetworkForm::init); + ThreadUtil.execute(UsbForm::init); // Check the new version if (App.config.isAutoCheckUpdate()) { diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/DetailForm.form b/src/main/java/com/luoboduner/moo/info/ui/form/DetailForm.form index 19decf3..b4affc6 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/DetailForm.form +++ b/src/main/java/com/luoboduner/moo/info/ui/form/DetailForm.form @@ -13,7 +13,7 @@ - + diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/DetailForm.java b/src/main/java/com/luoboduner/moo/info/ui/form/DetailForm.java index a632109..f4f2f37 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/DetailForm.java +++ b/src/main/java/com/luoboduner/moo/info/ui/form/DetailForm.java @@ -7,6 +7,7 @@ import com.intellij.uiDesigner.core.GridLayoutManager; import lombok.Getter; import javax.swing.*; +import javax.swing.border.TitledBorder; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import java.awt.*; @@ -94,6 +95,7 @@ public class DetailForm { mainPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); final JScrollPane scrollPane1 = new JScrollPane(); mainPanel.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)); + scrollPane1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null)); final JPanel panel1 = new JPanel(); panel1.setLayout(new GridLayoutManager(1, 1, new Insets(10, 10, 10, 10), -1, -1)); scrollPane1.setViewportView(panel1); @@ -107,4 +109,5 @@ public class DetailForm { public JComponent $$$getRootComponent$$$() { return mainPanel; } + } diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.form b/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.form index f5d47d1..9a9390e 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.form +++ b/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.form @@ -91,7 +91,7 @@ - + diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.java b/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.java index b3240a8..c24ec4f 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.java +++ b/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.java @@ -20,6 +20,7 @@ public class MainWindow { private JPanel overviewPanel; private JPanel networkPanel; private JPanel detailPanel; + private JPanel usbPanel; private static MainWindow mainWindow; @@ -40,6 +41,7 @@ public class MainWindow { mainWindow.getOverviewPanel().add(OverviewForm.getInstance().getMainPanel(), gridConstraints); mainWindow.getDetailPanel().add(DetailForm.getInstance().getMainPanel(), gridConstraints); mainWindow.getNetworkPanel().add(NetworkForm.getInstance().getMainPanel(), gridConstraints); + mainWindow.getUsbPanel().add(UsbForm.getInstance().getMainPanel(), gridConstraints); mainWindow.getMainPanel().updateUI(); } @@ -87,9 +89,9 @@ public class MainWindow { final JPanel panel5 = new JPanel(); panel5.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); tabbedPane.addTab("Processes", panel5); - final JPanel panel6 = new JPanel(); - panel6.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); - tabbedPane.addTab("USB Devices", panel6); + usbPanel = new JPanel(); + usbPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); + tabbedPane.addTab("USB Devices", usbPanel); } /** diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/NetworkForm.form b/src/main/java/com/luoboduner/moo/info/ui/form/NetworkForm.form index 84c1783..8c9deeb 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/NetworkForm.form +++ b/src/main/java/com/luoboduner/moo/info/ui/form/NetworkForm.form @@ -26,11 +26,11 @@ - - - + - + + + diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/NetworkForm.java b/src/main/java/com/luoboduner/moo/info/ui/form/NetworkForm.java index 17abbdf..73aabc7 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/NetworkForm.java +++ b/src/main/java/com/luoboduner/moo/info/ui/form/NetworkForm.java @@ -177,7 +177,8 @@ public class NetworkForm { paramatersPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); panel1.add(paramatersPanel, 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)); parametersTextPane = new JTextPane(); - paramatersPanel.add(parametersTextPane, 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, new Dimension(150, 50), null, 0, false)); + parametersTextPane.setEditable(false); + paramatersPanel.add(parametersTextPane, 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 JScrollPane scrollPane1 = new JScrollPane(); panel1.add(scrollPane1, new GridConstraints(1, 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)); interfacesTable = new JTable(); @@ -190,4 +191,5 @@ public class NetworkForm { public JComponent $$$getRootComponent$$$() { return mainPanel; } + } diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/OverviewForm.form b/src/main/java/com/luoboduner/moo/info/ui/form/OverviewForm.form index a2ea854..6adb3f6 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/OverviewForm.form +++ b/src/main/java/com/luoboduner/moo/info/ui/form/OverviewForm.form @@ -48,7 +48,9 @@ - + + + @@ -69,7 +71,9 @@ - + + + diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/OverviewForm.java b/src/main/java/com/luoboduner/moo/info/ui/form/OverviewForm.java index 4963c08..f45c5fb 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/OverviewForm.java +++ b/src/main/java/com/luoboduner/moo/info/ui/form/OverviewForm.java @@ -99,6 +99,7 @@ public class OverviewForm { final Spacer spacer1 = new Spacer(); panel2.add(spacer1, new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); osTextPane = new JTextPane(); + osTextPane.setEditable(false); panel2.add(osTextPane, new GridConstraints(0, 1, 2, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(150, 50), null, 0, false)); final Spacer spacer2 = new Spacer(); panel2.add(spacer2, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); @@ -106,6 +107,7 @@ public class OverviewForm { label2.setText("Processor"); panel2.add(label2, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); procTextPane = new JTextPane(); + procTextPane.setEditable(false); panel2.add(procTextPane, new GridConstraints(2, 1, 2, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(150, 50), null, 0, false)); final Spacer spacer3 = new Spacer(); panel2.add(spacer3, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/UsbForm.form b/src/main/java/com/luoboduner/moo/info/ui/form/UsbForm.form new file mode 100644 index 0000000..2fb9a92 --- /dev/null +++ b/src/main/java/com/luoboduner/moo/info/ui/form/UsbForm.form @@ -0,0 +1,38 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/UsbForm.java b/src/main/java/com/luoboduner/moo/info/ui/form/UsbForm.java new file mode 100644 index 0000000..5edfbbf --- /dev/null +++ b/src/main/java/com/luoboduner/moo/info/ui/form/UsbForm.java @@ -0,0 +1,100 @@ +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.luoboduner.moo.info.App; +import lombok.Getter; +import oshi.hardware.HardwareAbstractionLayer; +import oshi.hardware.UsbDevice; + +import javax.swing.*; +import java.awt.*; + +/** + * UsbForm + * + * @author RememBerBer + * @since 2021/11/12. + */ +@Getter +public class UsbForm { + + private static final Log logger = LogFactory.get(); + + private static UsbForm usbForm; + private JPanel mainPanel; + private JTextPane infoPane; + + public static UsbForm getInstance() { + if (usbForm == null) { + usbForm = new UsbForm(); + } + return usbForm; + } + + public static void init() { + usbForm = getInstance(); + + initUi(); + initInfo(); + } + + private static void initUi() { + } + + private static void initInfo() { + JTextPane infoPane = getInstance().getInfoPane(); + infoPane.setText(getUsbString(App.si.getHardware())); + } + + private static String getUsbString(HardwareAbstractionLayer hal) { + StringBuilder sb = new StringBuilder(); + boolean first = true; + for (UsbDevice usbDevice : hal.getUsbDevices(true)) { + if (first) { + first = false; + } else { + sb.append('\n'); + } + sb.append(usbDevice); + } + return sb.toString(); + } + + { +// 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 JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 1, new Insets(10, 10, 10, 10), -1, -1)); + mainPanel.add(panel1, 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 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)); + infoPane = new JTextPane(); + infoPane.setEditable(false); + scrollPane1.setViewportView(infoPane); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return mainPanel; + } + +}