package PublicPannel; import javax.swing.*; import home.MainFrame; import jiexi.DellTag55AA03; import java.awt.*; public class BaseParameterPanel extends JPanel { /** * */ private static final long serialVersionUID = 1L; private MainFrame mainFrame; private JLabel[] labels; private JTextField[] textFields; public BaseParameterPanel(MainFrame mainFrame) { this.mainFrame = mainFrame; initializeUI(); } private void initializeUI() { setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); // ´´½¨Ö÷ÄÚÈÝÃæ°å JPanel contentPanel = new JPanel(); contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS)); // Ìí¼Ó¶¥²¿¼ä¾à - ÕâÊǹؼüÐÞ¸Ä contentPanel.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); // ²ÎÊýÅäÖà String[][] parameters = { {"02.", "device.version"}, {"04.", "device.id"}, {"06.", "comm.frequency"}, {"08.", "base.stations.per.comm"}, {"0A.", "group.id"}, {"0C.", "distance.calibration"}, {"0E.", "device.type"}, {"10.", "base.station.ranging"}, {"12.", "alarm.device"}, {"1A.", "pairing.id"}, {"1C.", "heartbeat.switch"}, {"1E.", "modbus.mode"}, {"36.", "rf.power"} }; labels = new JLabel[parameters.length]; textFields = new JTextField[parameters.length]; for (int i = 0; i < parameters.length; i++) { addParameterField(contentPanel, parameters[i][0], parameters[i][1], i); } // Ìí¼ÓÄÚÈÝÃæ°åµ½Ö÷Ãæ°å£¬²»Ìí¼Ó¶îÍâ¼ä¾à add(contentPanel); } private void addParameterField(JPanel panel, String address, String paramKey, int index) { JPanel paramPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0)); labels[index] = new JLabel(address + " " + mainFrame.getString(paramKey)); labels[index].setPreferredSize(new Dimension(140, 25)); textFields[index] = new JTextField(); textFields[index].setPreferredSize(new Dimension(120, 25)); // Èç¹ûÊÇÉ豸°æ±¾£¨µØÖ·Îª02.£©£¬ÉèÖÃΪ²»¿É±à¼­ if ("02.".equals(address)) { textFields[index].setEditable(false); // ¿ÉÑ¡£ºÉèÖñ³¾°É«ÒÔ±íʾ²»¿É±à¼­×´Ì¬ textFields[index].setBackground(Color.LIGHT_GRAY); } paramPanel.add(labels[index]); paramPanel.add(textFields[index]); // ÉèÖÃ¸ß¶È paramPanel.setMaximumSize(new Dimension(Integer.MAX_VALUE, 35)); panel.add(paramPanel); } /** * ¸üÐÂ×Ö¶ÎÖµ - ÐÂÔö·½·¨ * @param result ½âÎö½á¹û¶ÔÏó */ public void updateFields(DellTag55AA03.ParseResult result) { if (result == null) { return; } // ¸ù¾Ý²ÎÊý˳Ðò¸üжÔÓ¦µÄÎı¾¿ò try { if (textFields.length > 0 && result.dizhi0x2 != null) { textFields[0].setText(result.dizhi0x2); // É豸°æ±¾ } if (textFields.length > 1 && result.dizhi0x4 != null) { textFields[1].setText(result.dizhi0x4); // É豸ID } if (textFields.length > 2 && result.dizhi0x6 != null) { textFields[2].setText(String.valueOf(result.dizhi0x6)); // ͨÐÅÆµÂÊ } if (textFields.length > 3 && result.dizhi0x8 != null) { textFields[3].setText(String.valueOf(result.dizhi0x8)); // ÿ´ÎͨÐÅ»ùÕ¾Êý } if (textFields.length > 4 && result.dizhi0xA != null) { textFields[4].setText(String.valueOf(result.dizhi0xA)); // С×é±àºÅ } if (textFields.length > 5) { textFields[5].setText(String.valueOf(result.dizhi0xC)); // ¾àÀëУ׼ } if (textFields.length > 6 && result.dizhi0xE != null) { textFields[6].setText(String.valueOf(result.dizhi0xE)); // É豸ÀàÐÍ } if (textFields.length > 7 && result.dizhi0x10 != null) { textFields[7].setText(String.valueOf(result.dizhi0x10)); // »ùÕ¾Ö÷¶¯²â¾à } if (textFields.length > 8 && result.dizhi0x12 != null) { textFields[8].setText(String.valueOf(result.dizhi0x12)); // ±¨¾¯É豸 } if (textFields.length > 9 && result.dizhi0x1A != null) { textFields[9].setText(String.valueOf(result.dizhi0x1A)); // Åä¶ÔID } if (textFields.length > 10 && result.dizhi0x1C != null) { textFields[10].setText(String.valueOf(result.dizhi0x1C)); // ÐÄÌø°ü/UWB¿ª¹Ø×´Ì¬ } if (textFields.length > 11 && result.dizhi0x1E != null) { textFields[11].setText(String.valueOf(result.dizhi0x1E)); // MODBUSģʽ } if (textFields.length > 12 && result.dizhi0x36 != null) { textFields[12].setText(String.valueOf(result.dizhi0x36)); // ¹¦ÂÊ } } catch (Exception e) { System.err.println("Error updating fields: " + e.getMessage()); e.printStackTrace(); } // ÖØÐÂÑéÖ¤ºÍÖØ»æÃæ°å revalidate(); repaint(); } public void updateLanguage() { // ¸üбêÇ©Îı¾ String[][] parameters = { {"02.", "device.version"}, {"04.", "device.id"}, {"06.", "comm.frequency"}, {"08.", "base.stations.per.comm"}, {"0A.", "group.id"}, {"0C.", "distance.calibration"}, {"0E.", "device.type"}, {"10.", "base.station.ranging"}, {"12.", "alarm.device"}, {"1A.", "pairing.id"}, {"1C.", "heartbeat.switch"}, {"1E.", "modbus.mode"}, {"36.", "rf.power"} }; for (int i = 0; i < parameters.length && i < labels.length; i++) { labels[i].setText(parameters[i][0] + " " + mainFrame.getString(parameters[i][1])); } revalidate(); repaint(); } // ÐÂÔö£º»ñÈ¡Îı¾¿òÊý×éµÄ·½·¨ public JTextField[] getTextFields() { return textFields; } public String getdizhi0x2() { return textFields.length ==1 ? textFields[0].getText() : ""; }//°æ±¾ºÅ public String getdizhi0x4() { return textFields.length > 1 ? textFields[1].getText() : ""; }//Ä£¿é±àºÅ public String getdizhi0x6() { return textFields.length > 2 ? textFields[2].getText() : ""; }//ͨÐÅÆµÂÊ public String getdizhi0x8() { return textFields.length > 3 ? textFields[3].getText() : ""; }//×î¶àͨÐÅ»ùÕ¾ public String getdizhi0xA() { return textFields.length > 4 ? textFields[4].getText() : ""; }//×îÉÙͨÐÅ»ùÕ¾¡¢Ð¡×é±àºÅ public String getdizhi0xC() { return textFields.length > 5 ? textFields[5].getText() : ""; }//У׼¾àÀë public String getdizhi0xE() { return textFields.length > 6 ? textFields[6].getText() : ""; }//Ä£¿éÀàÐÍ public String getdizhi0x10() { return textFields.length > 7 ? textFields[7].getText() : ""; }//»ùÕ¾Ö÷¶¯²â¾à public String getdizhi0x12() { return textFields.length > 8 ? textFields[8].getText() : ""; }//±¨¾¯É豸 public String getdizhi0x1A() { return textFields.length > 9 ? textFields[9].getText() : ""; }//Åä¶ÔID public String getdizhi0x1C() { return textFields.length > 10 ? textFields[10].getText() : ""; }//ÐÄÌø°ü¡¢UWB¿ª¹Ø×´Ì¬ public String getdizhi0x1E() { return textFields.length > 11 ? textFields[11].getText() : ""; }//MODBUSģʽ public String getdizhi0x36() { return textFields.length > 12 ? textFields[12].getText() : ""; }//¹¦ÂÊ }