| | |
| | | try { |
| | | ImageIcon settingsIcon = new ImageIcon("image/sets.png"); |
| | | // 调整图片大小以适应按钮 |
| | | Image scaledImage = settingsIcon.getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH); |
| | | Image scaledImage = settingsIcon.getImage().getScaledInstance(25, 25, Image.SCALE_SMOOTH); |
| | | settingsBtn.setIcon(new ImageIcon(scaledImage)); |
| | | } catch (Exception e) { |
| | | // 如果图片加载失败,使用默认文本 |
| | |
| | | controlPanel = new JPanel(new BorderLayout()); |
| | | controlPanel.setBackground(PANEL_BACKGROUND); |
| | | controlPanel.setBorder(BorderFactory.createEmptyBorder(15, 20, 15, 20)); |
| | | controlPanel.setPreferredSize(new Dimension(0, 100)); |
| | | controlPanel.setPreferredSize(new Dimension(0, 80)); |
| | | |
| | | JPanel buttonPanel = new JPanel(new GridLayout(1, 2, 20, 0)); |
| | | buttonPanel.setBackground(PANEL_BACKGROUND); |
| | | |
| | | startBtn = createControlButton("暂停", THEME_COLOR); |
| | | startBtn = createControlButton("暂停割草", THEME_COLOR); |
| | | updateStartButtonAppearance(); |
| | | |
| | | stopBtn = createControlButton("结束", Color.ORANGE); |
| | | stopBtn = createControlButton("结束割草", Color.ORANGE); |
| | | updateStopButtonIcon(); |
| | | |
| | | buttonPanel.add(startBtn); |
| | |
| | | button.setFont(new Font("微软雅黑", Font.BOLD, 16)); |
| | | button.setBackground(color); |
| | | button.setForeground(Color.WHITE); |
| | | button.setBorder(BorderFactory.createEmptyBorder(15, 0, 15, 0)); |
| | | button.setPreferredSize(new Dimension(0, 50)); |
| | | button.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0)); |
| | | button.setFocusPainted(false); |
| | | |
| | | // 悬停效果 |
| | |
| | | updateStartButtonAppearance(); |
| | | } |
| | | if (stopBtn != null) { |
| | | stopBtn.setText("结束"); |
| | | stopBtn.setText("结束割草"); |
| | | updateStopButtonIcon(); |
| | | } |
| | | if (statusLabel != null) { |
| | |
| | | if (startBtn == null) { |
| | | return; |
| | | } |
| | | String iconPath = startButtonShowingPause ? "image/start0.png" : "image/start1.png"; |
| | | startBtn.setText(startButtonShowingPause ? "暂停" : "开始"); |
| | | applyButtonIcon(startBtn, iconPath); |
| | | startBtn.setText(startButtonShowingPause ? "暂停割草" : "开始割草"); |
| | | startBtn.setIcon(null); |
| | | } |
| | | |
| | | private void updateStopButtonIcon() { |
| | | if (stopBtn == null) { |
| | | return; |
| | | } |
| | | String iconPath = stopButtonActive ? "image/stop1.png" : "image/stop0.png"; |
| | | applyButtonIcon(stopBtn, iconPath); |
| | | stopBtn.setText("结束割草"); |
| | | stopBtn.setIcon(null); |
| | | } |
| | | |
| | | private void toggleBluetoothConnection() { |
| | |
| | | |
| | | private void ensureBluetoothIconsLoaded() { |
| | | if (bluetoothIcon == null) { |
| | | bluetoothIcon = loadScaledIcon("image/blue.png", 28, 28); |
| | | bluetoothIcon = loadScaledIcon("image/blue.png", 25, 25); |
| | | } |
| | | if (bluetoothLinkedIcon == null) { |
| | | bluetoothLinkedIcon = loadScaledIcon("image/bluelink.png", 28, 28); |
| | | bluetoothLinkedIcon = loadScaledIcon("image/bluelink.png", 25, 25); |
| | | } |
| | | } |
| | | |