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 b10efd9..1c55b04 100644
--- a/src/main/java/com/luoboduner/moo/info/ui/Init.java
+++ b/src/main/java/com/luoboduner/moo/info/ui/Init.java
@@ -7,10 +7,7 @@ import com.formdev.flatlaf.FlatLightLaf;
import com.formdev.flatlaf.IntelliJTheme;
import com.luoboduner.moo.info.App;
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.ui.form.*;
import com.luoboduner.moo.info.util.SystemUtil;
import com.luoboduner.moo.info.util.UIUtil;
import com.luoboduner.moo.info.util.UpgradeUtil;
@@ -207,6 +204,7 @@ public class Init {
ThreadUtil.execute(DetailForm::init);
ThreadUtil.execute(NetworkForm::init);
ThreadUtil.execute(UsbForm::init);
+ ThreadUtil.execute(VariablesForm::init);
// Check the new version
if (App.config.isAutoCheckUpdate()) {
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 9a9390e..6ef2c95 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
@@ -73,7 +73,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 c24ec4f..8dcfd90 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
@@ -21,6 +21,7 @@ public class MainWindow {
private JPanel networkPanel;
private JPanel detailPanel;
private JPanel usbPanel;
+ private JPanel VariablesPanel;
private static MainWindow mainWindow;
@@ -42,6 +43,7 @@ public class MainWindow {
mainWindow.getDetailPanel().add(DetailForm.getInstance().getMainPanel(), gridConstraints);
mainWindow.getNetworkPanel().add(NetworkForm.getInstance().getMainPanel(), gridConstraints);
mainWindow.getUsbPanel().add(UsbForm.getInstance().getMainPanel(), gridConstraints);
+ mainWindow.getVariablesPanel().add(VariablesForm.getInstance().getMainPanel(), gridConstraints);
mainWindow.getMainPanel().updateUI();
}
@@ -83,12 +85,12 @@ public class MainWindow {
networkPanel = new JPanel();
networkPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
tabbedPane.addTab("Network", networkPanel);
+ VariablesPanel = new JPanel();
+ VariablesPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
+ tabbedPane.addTab("Variables", VariablesPanel);
final JPanel panel4 = new JPanel();
panel4.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
- tabbedPane.addTab("Variables", panel4);
- final JPanel panel5 = new JPanel();
- panel5.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
- tabbedPane.addTab("Processes", panel5);
+ tabbedPane.addTab("Processes", panel4);
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/VariablesForm.form b/src/main/java/com/luoboduner/moo/info/ui/form/VariablesForm.form
new file mode 100644
index 0000000..e80d049
--- /dev/null
+++ b/src/main/java/com/luoboduner/moo/info/ui/form/VariablesForm.form
@@ -0,0 +1,59 @@
+
+
diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/VariablesForm.java b/src/main/java/com/luoboduner/moo/info/ui/form/VariablesForm.java
new file mode 100644
index 0000000..0889104
--- /dev/null
+++ b/src/main/java/com/luoboduner/moo/info/ui/form/VariablesForm.java
@@ -0,0 +1,108 @@
+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 javax.swing.table.DefaultTableModel;
+import java.awt.*;
+import java.util.Map;
+
+/**
+ * VariablesForm
+ *
+ * @author RememBerBer
+ * @since 2021/11/12.
+ */
+@Getter
+public class VariablesForm {
+ private static final Log logger = LogFactory.get();
+
+ private static VariablesForm variablesForm;
+ private JPanel mainPanel;
+ private JTable sysEnvVarTable;
+
+ public static VariablesForm getInstance() {
+ if (variablesForm == null) {
+ variablesForm = new VariablesForm();
+ }
+ return variablesForm;
+ }
+
+ public static void init() {
+ variablesForm = getInstance();
+
+ initUi();
+ initInfo();
+ }
+
+ private static void initUi() {
+ getInstance().getSysEnvVarTable().setShowGrid(true);
+ }
+
+ private static void initInfo() {
+ initListTable();
+ }
+
+ public static void initListTable() {
+ String[] headerNames = {"Key", "Value"};
+ DefaultTableModel model = new DefaultTableModel(null, headerNames);
+
+ Map map = System.getenv();
+ Object[] data;
+ for (Map.Entry envEntry : map.entrySet()) {
+ data = new Object[2];
+ data[0] = envEntry.getKey();
+ data[1] = envEntry.getValue();
+ model.addRow(data);
+ }
+
+ getInstance().getSysEnvVarTable().setModel(model);
+ }
+
+ {
+// 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(2, 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_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
+ final JPanel panel2 = new JPanel();
+ panel2.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1));
+ panel1.add(panel2, 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 environment variables");
+ panel2.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));
+ final Spacer spacer1 = new Spacer();
+ panel2.add(spacer1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, 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));
+ sysEnvVarTable = new JTable();
+ scrollPane1.setViewportView(sysEnvVarTable);
+ }
+
+ /**
+ * @noinspection ALL
+ */
+ public JComponent $$$getRootComponent$$$() {
+ return mainPanel;
+ }
+
+}