From a6077217e25f5804027194a5c2848e773eda1abd Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期五, 21 十一月 2025 15:47:17 +0800
Subject: [PATCH] 修改
---
src/xitongshezhi/canshushezhi.java | 236 +++++++++++++++++++++++++++-------------------------------
1 files changed, 110 insertions(+), 126 deletions(-)
diff --git a/src/xitongshezhi/canshushezhi.java b/src/xitongshezhi/canshushezhi.java
index c894d24..0b41142 100644
--- a/src/xitongshezhi/canshushezhi.java
+++ b/src/xitongshezhi/canshushezhi.java
@@ -17,12 +17,14 @@
private static final int SCREEN_WIDTH = 600;
private static final int SCREEN_HEIGHT = 1024;
- // 棰滆壊甯搁噺 - 浣跨敤涓嶉�忔槑棰滆壊
+ // 棰滆壊瀹氫箟 - 浣跨敤mimaguanli.java涓殑棰滆壊鏂规
+ private static final Color BACKGROUND_COLOR = new Color(15, 28, 48);
+ private static final Color CARD_COLOR = new Color(26, 43, 68);
private static final Color PRIMARY_COLOR = new Color(52, 152, 219);
private static final Color SECONDARY_COLOR = new Color(46, 204, 113);
- private static final Color DARK_COLOR = new Color(15, 28, 48);
- private static final Color DARK_LIGHT_COLOR = new Color(26, 43, 68);
private static final Color TEXT_COLOR = new Color(224, 224, 224);
+ private static final Color TEXT_LIGHT_COLOR = new Color(160, 200, 255);
+ private static final Color FIELD_BACKGROUND = new Color(240, 240, 240);
// UI缁勪欢
private JPanel mainPanel;
@@ -58,10 +60,10 @@
e.printStackTrace();
}
- // 鍒涘缓涓婚潰鏉� - 涓嶉�忔槑鑳屾櫙
+ // 鍒涘缓涓婚潰鏉� - 浣跨敤mimaguanli鐨勮儗鏅壊
mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
- mainPanel.setBackground(DARK_COLOR);
+ mainPanel.setBackground(BACKGROUND_COLOR);
mainPanel.setOpaque(true);
mainPanel.setBorder(new EmptyBorder(12, 12, 12, 12));
@@ -82,14 +84,18 @@
titleLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 22));
titleLabel.setForeground(TEXT_COLOR);
- // 鍏抽棴鎸夐挳
+ // 鍏抽棴鎸夐挳 - 浣跨敤mimaguanli鐨勬寜閽牱寮�
JButton backButton = new JButton("鍏抽棴");
backButton.setFont(new Font("Microsoft YaHei", Font.PLAIN, 14));
backButton.setBackground(PRIMARY_COLOR);
backButton.setForeground(Color.WHITE);
backButton.setOpaque(true);
backButton.setFocusPainted(false);
- backButton.setBorder(BorderFactory.createEmptyBorder(8, 16, 8, 16));
+ backButton.setBorder(BorderFactory.createCompoundBorder(
+ BorderFactory.createLineBorder(new Color(40, 120, 180), 1),
+ BorderFactory.createEmptyBorder(8, 16, 8, 16)
+ ));
+ backButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
backButton.addActionListener(e -> dispose());
// 鍏抽棴鎸夐挳鎮仠鏁堟灉
@@ -130,12 +136,14 @@
scrollPane.setOpaque(false);
scrollPane.getViewport().setOpaque(false);
- // 鍩烘湰鍙傛暟璁剧疆鍗$墖
- settingsPanel.add(createBasicSettingsCard());
- settingsPanel.add(Box.createRigidArea(new Dimension(0, 12)));
+ // 鑷畾涔夋粴鍔ㄦ潯
+ JScrollBar verticalScrollBar = scrollPane.getVerticalScrollBar();
+ verticalScrollBar.setBackground(CARD_COLOR);
+ verticalScrollBar.setForeground(PRIMARY_COLOR);
+ verticalScrollBar.setUnitIncrement(20);
- // 璁惧鍙傛暟璁剧疆鍗$墖
- settingsPanel.add(createDeviceSettingsCard());
+ // 鍚堝苟鐨勫弬鏁拌缃崱鐗�
+ settingsPanel.add(createMergedSettingsCard());
settingsPanel.add(Box.createRigidArea(new Dimension(0, 12)));
// 淇濆瓨鎸夐挳
@@ -148,172 +156,148 @@
return container;
}
- private JPanel createBasicSettingsCard() {
+ private JPanel createMergedSettingsCard() {
JPanel card = new JPanel();
card.setLayout(new BorderLayout());
- card.setBackground(DARK_LIGHT_COLOR);
+ card.setBackground(CARD_COLOR);
card.setOpaque(true);
card.setBorder(BorderFactory.createCompoundBorder(
- BorderFactory.createLineBorder(new Color(52, 152, 219, 128)),
- BorderFactory.createEmptyBorder(15, 15, 15, 15)
+ BorderFactory.createLineBorder(new Color(52, 152, 219, 100), 1),
+ BorderFactory.createEmptyBorder(20, 20, 20, 20)
));
- // 鍗″ご
- JPanel cardHeader = new JPanel(new BorderLayout());
- cardHeader.setOpaque(false);
-
- JLabel titleLabel = new JLabel("鍩烘湰鍙傛暟璁剧疆");
- titleLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 16));
- titleLabel.setForeground(TEXT_COLOR);
-
- cardHeader.add(titleLabel, BorderLayout.WEST);
- card.add(cardHeader, BorderLayout.NORTH);
-
- // 琛ㄥ崟鍐呭 - 浣跨敤缃戞牸甯冨眬瀹炵幇鏍囩鍦ㄥ乏锛屾枃鏈鍦ㄥ彸
- // 璋冩暣琛岄珮涓�80鍍忕礌锛屼负60鍍忕礌楂樼殑缁勪欢鎻愪緵瓒冲鐨勯棿璺�
- JPanel formPanel = new JPanel(new GridLayout(3, 2, 10, 20));
+ // 琛ㄥ崟鍐呭 - 浣跨敤姘村钩甯冨眬瀹炵幇鏍囩鍦ㄥ乏锛屾枃鏈鍦ㄥ彸
+ JPanel formPanel = new JPanel();
+ formPanel.setLayout(new BoxLayout(formPanel, BoxLayout.Y_AXIS));
formPanel.setOpaque(false);
- formPanel.setBorder(new EmptyBorder(15, 0, 0, 0));
// 鍙戝崱鏈虹紪鍙�
- JLabel deviceIdLabel = new JLabel("鍙戝崱鏈虹紪鍙�:");
- deviceIdLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 13));
- deviceIdLabel.setForeground(TEXT_COLOR);
- formPanel.add(deviceIdLabel);
-
- deviceIdField = new JTextField();
- styleFormField(deviceIdField);
- formPanel.add(deviceIdField);
+ formPanel.add(createHorizontalField("鍙戝崱鏈虹紪鍙�:", deviceIdField = new JTextField()));
+ formPanel.add(Box.createRigidArea(new Dimension(0, 18)));
// 鏈嶅姟鍣ㄥ湴鍧�
- JLabel serverAddressLabel = new JLabel("鏈嶅姟鍣ㄥ湴鍧�:");
- serverAddressLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 13));
- serverAddressLabel.setForeground(TEXT_COLOR);
- formPanel.add(serverAddressLabel);
-
- serverAddressField = new JTextField();
- styleFormField(serverAddressField);
- formPanel.add(serverAddressField);
+ formPanel.add(createHorizontalField("鏈嶅姟鍣ㄥ湴鍧�:", serverAddressField = new JTextField()));
+ formPanel.add(Box.createRigidArea(new Dimension(0, 18)));
// 鏈嶅姟鍣ㄧ鍙�
- JLabel serverPortLabel = new JLabel("鏈嶅姟鍣ㄧ鍙�:");
- serverPortLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 13));
- serverPortLabel.setForeground(TEXT_COLOR);
- formPanel.add(serverPortLabel);
+ formPanel.add(createHorizontalField("鏈嶅姟鍣ㄧ鍙�:", serverPortField = new JTextField()));
+ formPanel.add(Box.createRigidArea(new Dimension(0, 18)));
- serverPortField = new JTextField();
- styleFormField(serverPortField);
- formPanel.add(serverPortField);
+ // 鍗℃Ы鎬绘暟
+ formPanel.add(createHorizontalField("鍗℃Ы鎬绘暟:", slotCountField = new JTextField()));
+ formPanel.add(Box.createRigidArea(new Dimension(0, 18)));
+
+ // 璇诲崱鍙锋ā寮�
+ formPanel.add(createHorizontalComboBoxField("璇诲崱鍙锋ā寮�:", readModeComboBox = new JComboBox<>(new String[]{"涓诲姩妯″紡", "琚姩妯″紡"})));
card.add(formPanel, BorderLayout.CENTER);
return card;
}
- private JPanel createDeviceSettingsCard() {
- JPanel card = new JPanel();
- card.setLayout(new BorderLayout());
- card.setBackground(DARK_LIGHT_COLOR);
- card.setOpaque(true);
- card.setBorder(BorderFactory.createCompoundBorder(
- BorderFactory.createLineBorder(new Color(52, 152, 219, 128)),
- BorderFactory.createEmptyBorder(15, 15, 15, 15)
+ private JPanel createHorizontalField(String labelText, JTextField textField) {
+ JPanel panel = new JPanel(new BorderLayout());
+ panel.setBackground(CARD_COLOR);
+ panel.setMaximumSize(new Dimension(SCREEN_WIDTH - 100, 50));
+
+ // 鏍囩
+ JLabel label = new JLabel(labelText);
+ label.setFont(new Font("Microsoft YaHei", Font.BOLD, 14));
+ label.setForeground(TEXT_COLOR);
+ label.setPreferredSize(new Dimension(100, 30));
+
+ // 鏂囨湰妗嗘牱寮� - 浣跨敤mimaguanli鐨勬牱寮�
+ textField.setBackground(FIELD_BACKGROUND);
+ textField.setForeground(Color.BLACK);
+ textField.setBorder(BorderFactory.createCompoundBorder(
+ BorderFactory.createLineBorder(new Color(200, 200, 200), 1),
+ BorderFactory.createEmptyBorder(10, 12, 10, 12)
));
+ textField.setFont(new Font("Microsoft YaHei", Font.PLAIN, 14));
+ textField.setOpaque(true);
+ textField.setPreferredSize(new Dimension(280, 42));
- // 鍗″ご
- JPanel cardHeader = new JPanel(new BorderLayout());
- cardHeader.setOpaque(false);
+ // 鍒涘缓姘村钩甯冨眬瀹瑰櫒
+ JPanel horizontalPanel = new JPanel(new BorderLayout());
+ horizontalPanel.setBackground(CARD_COLOR);
+ horizontalPanel.setMaximumSize(new Dimension(SCREEN_WIDTH - 100, 50));
- JLabel titleLabel = new JLabel("璁惧鍙傛暟璁剧疆");
- titleLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 16));
- titleLabel.setForeground(TEXT_COLOR);
+ horizontalPanel.add(label, BorderLayout.WEST);
+ horizontalPanel.add(textField, BorderLayout.CENTER);
- cardHeader.add(titleLabel, BorderLayout.WEST);
- card.add(cardHeader, BorderLayout.NORTH);
+ // 娣诲姞闂磋窛
+ horizontalPanel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0));
- // 琛ㄥ崟鍐呭 - 浣跨敤缃戞牸甯冨眬瀹炵幇鏍囩鍦ㄥ乏锛岃緭鍏ョ粍浠跺湪鍙�
- // 璋冩暣琛岄珮涓�80鍍忕礌锛屼负60鍍忕礌楂樼殑缁勪欢鎻愪緵瓒冲鐨勯棿璺�
- JPanel formPanel = new JPanel(new GridLayout(2, 2, 10, 20));
- formPanel.setOpaque(false);
- formPanel.setBorder(new EmptyBorder(15, 0, 0, 0));
+ return horizontalPanel;
+ }
+
+ private JPanel createHorizontalComboBoxField(String labelText, JComboBox<String> comboBox) {
+ JPanel panel = new JPanel(new BorderLayout());
+ panel.setBackground(CARD_COLOR);
+ panel.setMaximumSize(new Dimension(SCREEN_WIDTH - 100, 50));
- // 鍗℃Ы鎬绘暟
- JLabel slotCountLabel = new JLabel("鍗℃Ы鎬绘暟:");
- slotCountLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 13));
- slotCountLabel.setForeground(TEXT_COLOR);
- formPanel.add(slotCountLabel);
+ // 鏍囩
+ JLabel label = new JLabel(labelText);
+ label.setFont(new Font("Microsoft YaHei", Font.BOLD, 14));
+ label.setForeground(TEXT_COLOR);
+ label.setPreferredSize(new Dimension(100, 30));
- slotCountField = new JTextField();
- styleFormField(slotCountField);
- formPanel.add(slotCountField);
+ // 缁勫悎妗嗘牱寮� - 浣跨敤mimaguanli鐨勬牱寮�
+ comboBox.setBackground(FIELD_BACKGROUND);
+ comboBox.setForeground(Color.BLACK);
+ comboBox.setBorder(BorderFactory.createCompoundBorder(
+ BorderFactory.createLineBorder(new Color(200, 200, 200), 1),
+ BorderFactory.createEmptyBorder(10, 12, 10, 12)
+ ));
+ comboBox.setFont(new Font("Microsoft YaHei", Font.PLAIN, 14));
+ comboBox.setOpaque(true);
+ comboBox.setPreferredSize(new Dimension(280, 42));
- // 璇诲崱鍙锋ā寮�
- JLabel readModeLabel = new JLabel("璇诲崱鍙锋ā寮�:");
- readModeLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 13));
- readModeLabel.setForeground(TEXT_COLOR);
- formPanel.add(readModeLabel);
+ // 鍒涘缓姘村钩甯冨眬瀹瑰櫒
+ JPanel horizontalPanel = new JPanel(new BorderLayout());
+ horizontalPanel.setBackground(CARD_COLOR);
+ horizontalPanel.setMaximumSize(new Dimension(SCREEN_WIDTH - 100, 50));
- readModeComboBox = new JComboBox<>(new String[]{"涓诲姩妯″紡", "琚姩妯″紡"});
- styleComboBox(readModeComboBox);
- formPanel.add(readModeComboBox);
+ horizontalPanel.add(label, BorderLayout.WEST);
+ horizontalPanel.add(comboBox, BorderLayout.CENTER);
- card.add(formPanel, BorderLayout.CENTER);
+ // 娣诲姞闂磋窛
+ horizontalPanel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0));
- return card;
+ return horizontalPanel;
}
private JPanel createSaveButton() {
- JPanel buttonPanel = new JPanel(new BorderLayout());
+ JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
buttonPanel.setOpaque(false);
+ buttonPanel.setBorder(new EmptyBorder(10, 0, 0, 0));
JButton saveButton = new JButton("淇濆瓨鎵�鏈夎缃�");
- saveButton.setFont(new Font("Microsoft YaHei", Font.BOLD, 16));
- saveButton.setBackground(SECONDARY_COLOR);
+ saveButton.setFont(new Font("Microsoft YaHei", Font.PLAIN, 14));
+ saveButton.setBackground(PRIMARY_COLOR);
saveButton.setForeground(Color.WHITE);
saveButton.setOpaque(true);
saveButton.setFocusPainted(false);
- saveButton.setPreferredSize(new Dimension(0, 60)); // 楂樺害鏀逛负60鍍忕礌
- saveButton.setBorder(BorderFactory.createEmptyBorder(12, 20, 12, 20));
+ saveButton.setBorder(BorderFactory.createCompoundBorder(
+ BorderFactory.createLineBorder(new Color(40, 120, 180), 1),
+ BorderFactory.createEmptyBorder(8, 16, 8, 16)
+ ));
+ saveButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
saveButton.addActionListener(e -> saveSettings());
// 鎸夐挳鎮仠鏁堟灉
saveButton.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
- saveButton.setBackground(brighterColor(SECONDARY_COLOR));
+ saveButton.setBackground(brighterColor(PRIMARY_COLOR));
}
public void mouseExited(java.awt.event.MouseEvent evt) {
- saveButton.setBackground(SECONDARY_COLOR);
+ saveButton.setBackground(PRIMARY_COLOR);
}
});
- buttonPanel.add(saveButton, BorderLayout.CENTER);
+ buttonPanel.add(saveButton);
return buttonPanel;
- }
-
- private void styleFormField(JTextField field) {
- field.setPreferredSize(new Dimension(200, 60)); // 楂樺害鏀逛负60鍍忕礌
- field.setBackground(Color.WHITE); // 涓嶉�忔槑鐧借壊鑳屾櫙
- field.setForeground(Color.BLACK); // 榛戣壊鏂囧瓧
- field.setBorder(BorderFactory.createCompoundBorder(
- BorderFactory.createLineBorder(new Color(200, 200, 200)),
- BorderFactory.createEmptyBorder(8, 12, 8, 12)
- ));
- field.setFont(new Font("Microsoft YaHei", Font.PLAIN, 13));
- field.setCaretColor(Color.BLACK);
- field.setOpaque(true); // 纭繚涓嶉�忔槑
- }
-
- private void styleComboBox(JComboBox<String> comboBox) {
- comboBox.setPreferredSize(new Dimension(200, 60)); // 楂樺害鏀逛负60鍍忕礌
- comboBox.setBackground(Color.WHITE); // 涓嶉�忔槑鐧借壊鑳屾櫙
- comboBox.setForeground(Color.BLACK); // 榛戣壊鏂囧瓧
- comboBox.setBorder(BorderFactory.createCompoundBorder(
- BorderFactory.createLineBorder(new Color(200, 200, 200)),
- BorderFactory.createEmptyBorder(8, 12, 8, 12)
- ));
- comboBox.setFont(new Font("Microsoft YaHei", Font.PLAIN, 13));
- comboBox.setOpaque(true); // 纭繚涓嶉�忔槑
}
private void initializeData() {
--
Gitblit v1.9.3