package com.dev.ntm; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.border.TitledBorder; import javax.swing.JTabbedPane; import main.page_debug_inf; import main.page_dfu; import org.apache.logging.log4j.Logger; import com.dev.ntm.cmd.NTM_Cmd; import javax.swing.JTextPane; import java.awt.Font; import javax.swing.JTextField; public class ntm_page_base extends JPanel { public SPCommNTM Comm_NTM; private Logger m_log = null; /** * */ private static final long serialVersionUID = 1L; private JTabbedPane tabbedPane; private JPanel panel; private ntm_page_datamanage panel_data_manage; private ntm_page_taskinf panel_taskinf; private JPanel panel_2; private JPanel panel_3; private JTextPane tp_dev_monlower_cnt; private JTextPane tp_dev_type; private JTextPane tp_dev_onlinevol; private JTextPane tp_dev_groupvol; private JTextPane tp_dev_battcurr; private JTextPane tp_dev_testcap; private JTextPane tp_dev_battstat; private JTextPane tp_dev_testtime; private JTextPane tp_dev_maxminvol; private JTabbedPane tabbedPane_1; private ntm_page_chart panel_chart; private ntm_page_param panel_testparam; private page_dfu panel_dfu; private page_debug_inf panel_NTM_debug; private JPanel panel_4; private JPanel panel_5; private JTextPane tf_dev_alarm; private JTextField tf_dev_alarmid; /** * Create the panel. */ public ntm_page_base(Logger log) { m_log = log; setLayout(new BorderLayout(0, 0)); tabbedPane = new JTabbedPane(JTabbedPane.TOP); add(tabbedPane, BorderLayout.CENTER); panel = new JPanel(); tabbedPane.addTab("\u57FA\u672C\u6D4B\u8BD5", null, panel, null); panel.setLayout(new BorderLayout(0, 0)); JPanel panel_57 = new JPanel(); panel.add(panel_57, BorderLayout.WEST); panel_57.setLayout(new BorderLayout(0, 0)); JPanel panel_38 = new JPanel(); panel_57.add(panel_38, BorderLayout.NORTH); //panel_ZDHJ.add(panel_38, BorderLayout.NORTH); panel_38.setLayout(new GridLayout(0, 3, 0, 0)); JPanel panel_50 = new JPanel(); panel_50.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u5728\u7EBF\u7535\u538B(V)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_38.add(panel_50); panel_50.setLayout(new BorderLayout(0, 0)); tp_dev_onlinevol = new JTextPane(); tp_dev_onlinevol.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_50.add(tp_dev_onlinevol); JPanel panel_39 = new JPanel(); panel_39.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u7EC4\u7AEF\u7535\u538B(V) ", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_38.add(panel_39); panel_39.setLayout(new BorderLayout(0, 0)); tp_dev_groupvol = new JTextPane(); tp_dev_groupvol.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_39.add(tp_dev_groupvol); JPanel panel_40 = new JPanel(); panel_40.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u7535\u6C60\u7535\u6D41(A)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_38.add(panel_40); panel_40.setLayout(new BorderLayout(0, 0)); tp_dev_battcurr = new JTextPane(); tp_dev_battcurr.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_40.add(tp_dev_battcurr); JPanel panel_46 = new JPanel(); panel_38.add(panel_46); panel_46.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u5DF2\u6D4B\u5BB9\u91CF(AH)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_46.setLayout(new BorderLayout(0, 0)); tp_dev_testcap = new JTextPane(); tp_dev_testcap.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_46.add(tp_dev_testcap); JPanel panel_55 = new JPanel(); panel_55.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u7535\u6C60\u72B6\u6001", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_38.add(panel_55); panel_55.setLayout(new BorderLayout(0, 0)); tp_dev_battstat = new JTextPane(); tp_dev_battstat.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_55.add(tp_dev_battstat, BorderLayout.CENTER); JPanel panel_56 = new JPanel(); panel_56.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u5DF2\u6D4B\u65F6\u95F4", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_38.add(panel_56); panel_56.setLayout(new BorderLayout(0, 0)); tp_dev_testtime = new JTextPane(); tp_dev_testtime.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_56.add(tp_dev_testtime, BorderLayout.CENTER); panel_2 = new JPanel(); panel_2.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u6700\u9AD8/\u6700\u4F4E(#V)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_38.add(panel_2); panel_2.setLayout(new BorderLayout(0, 0)); tp_dev_maxminvol = new JTextPane(); tp_dev_maxminvol.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_2.add(tp_dev_maxminvol, BorderLayout.CENTER); panel_3 = new JPanel(); panel_3.setBorder(new TitledBorder(null, "\u5DF2\u5230\u4E0B\u9650\u5355\u4F53\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_38.add(panel_3); panel_3.setLayout(new BorderLayout(0, 0)); tp_dev_monlower_cnt = new JTextPane(); tp_dev_monlower_cnt.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_3.add(tp_dev_monlower_cnt); panel_5 = new JPanel(); panel_5.setBorder(new TitledBorder(null, "\u8BBE\u5907\u544A\u8B66", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_38.add(panel_5); panel_5.setLayout(new BorderLayout(0, 0)); tf_dev_alarm = new JTextPane(); tf_dev_alarm.setFont(new Font("ËÎÌå", Font.PLAIN, 12)); panel_5.add(tf_dev_alarm); tf_dev_alarmid = new JTextField(); tf_dev_alarmid.setFont(new Font("ËÎÌå", Font.PLAIN, 18)); panel_5.add(tf_dev_alarmid, BorderLayout.NORTH); tf_dev_alarmid.setColumns(10); panel_4 = new JPanel(); panel_57.add(panel_4, BorderLayout.SOUTH); panel_4.setLayout(new GridLayout(0, 1, 0, 0)); JPanel panel_47 = new JPanel(); panel_4.add(panel_47); panel_47.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u8BBE\u5907\u578B\u53F7", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_47.setLayout(new GridLayout(0, 1, 8, 0)); tp_dev_type = new JTextPane(); tp_dev_type.setFont(new Font("ËÎÌå", Font.PLAIN, 16)); tp_dev_type.setText("-------------------------------------"); panel_47.add(tp_dev_type); tabbedPane_1 = new JTabbedPane(JTabbedPane.TOP); panel.add(tabbedPane_1, BorderLayout.CENTER); panel_testparam = new ntm_page_param(m_log); tabbedPane_1.addTab("\u6D4B\u8BD5\u53C2\u6570", null, panel_testparam, null); panel_chart = new ntm_page_chart(); tabbedPane_1.addTab("\u5355\u4F53\u6570\u636E", null, panel_chart, null); panel_data_manage = new ntm_page_datamanage(); tabbedPane.addTab("\u6570\u636E\u7BA1\u7406", null, panel_data_manage, null); panel_taskinf = new ntm_page_taskinf(m_log); tabbedPane.addTab("ÈÎÎñÐÅÏ¢", null, panel_taskinf, null); panel_dfu = new page_dfu(); tabbedPane.addTab("³ÌÐòÉý¼¶", null, panel_dfu, null); panel_NTM_debug = new page_debug_inf(); tabbedPane.addTab("µ÷ÊÔÐÅÏ¢", null, panel_NTM_debug, null); setButttonState(false); } public boolean openCommPort(int comm_type, String spname_or_ipaddr, int bitrate_or_ipport, int dev_addr, Logger log) { boolean res = false; Comm_NTM = new SPCommNTM(comm_type, dev_addr, bitrate_or_ipport, panel_dfu.ta_dfu_inf, panel_NTM_debug, log); if(true == Comm_NTM.OpenCommPort(spname_or_ipaddr, bitrate_or_ipport)) { Thread spcommThread = new Thread(Comm_NTM); spcommThread.start(); panel_chart.setComm_NTM(Comm_NTM); panel_testparam.setComm_NTM(Comm_NTM); panel_data_manage.setComm_NTM(Comm_NTM); panel_taskinf.setComm_NTM(Comm_NTM); panel_dfu.setComm_NTM(Comm_NTM); setButttonState(true); res = true; } return res; } public void closeCommPort() { if(null != Comm_NTM) { Comm_NTM.exitCommThread(); Comm_NTM = null; panel_chart.setComm_NTM(null); panel_testparam.setComm_NTM(null); panel_data_manage.setComm_NTM(null); panel_taskinf.setComm_NTM(null); panel_dfu.setComm_NTM(null); setButttonState(false); } } public void setButttonState(boolean state) { panel_dfu.setButttonState(state); } public void updateData() { try{ if(null != Comm_NTM) { tp_dev_type.setText(Comm_NTM.mDevInf.substring(Comm_NTM.mDevInf.indexOf(",")+1, Comm_NTM.mDevInf.length())); tp_dev_onlinevol.setText(String.format("%3.1f\n1: %3.1f\n2: %3.1f\n3: %3.1f\n4: %3.1f", Comm_NTM.m_TestData.online_vol, Comm_NTM.m_MonData.online_vol[0], Comm_NTM.m_MonData.online_vol[1], Comm_NTM.m_MonData.online_vol[2], Comm_NTM.m_MonData.online_vol[3])); tp_dev_groupvol.setText(String.format("%3.1f\n1: %3.1f\n2: %3.1f\n3: %3.1f\n4: %3.1f", Comm_NTM.m_TestData.group_vol, Comm_NTM.m_MonData.group_vol[0], Comm_NTM.m_MonData.group_vol[1], Comm_NTM.m_MonData.group_vol[2], Comm_NTM.m_MonData.group_vol[3])); tp_dev_battcurr.setText(String.format("%3.1f\n1: %3.1f\n2: %3.1f\n3: %3.1f\n4: %3.1f", Comm_NTM.m_TestData.batt_curr, Comm_NTM.m_MonData.batt_curr[0], Comm_NTM.m_MonData.batt_curr[1], Comm_NTM.m_MonData.batt_curr[2], Comm_NTM.m_MonData.batt_curr[3])); tp_dev_testcap.setText(String.format("%1.0f\n", Comm_NTM.m_TestData.batt_cap)); tp_dev_battstat.setText(String.format("1: %02XH\n2: %02XH\n3: %02XH\n4: %02XH", Comm_NTM.m_MonData.batt_stat[0], Comm_NTM.m_MonData.batt_stat[1], Comm_NTM.m_MonData.batt_stat[2], Comm_NTM.m_MonData.batt_stat[3])); tp_dev_testtime.setText(String.format("%02d-%02d-%02d \n%02d:%02d:%02d\n" + "%02d:%02d:%02d", Comm_NTM.m_TestData.test_starttime[0], Comm_NTM.m_TestData.test_starttime[1], Comm_NTM.m_TestData.test_starttime[2], Comm_NTM.m_TestData.test_starttime[3], Comm_NTM.m_TestData.test_starttime[4], Comm_NTM.m_TestData.test_starttime[5], Comm_NTM.m_TestData.test_timelong[0], Comm_NTM.m_TestData.test_timelong[1], Comm_NTM.m_TestData.test_timelong[2])); tp_dev_maxminvol.setText(String.format("#%03d\n%02.3f\n#%03d\n%02.3f", Comm_NTM.m_TestData.mon_volmax_num, Comm_NTM.m_TestData.mon_volmax, Comm_NTM.m_TestData.mon_volmin_num, Comm_NTM.m_TestData.mon_volmin)); tp_dev_monlower_cnt.setText(String.format("%03d\n", Comm_NTM.m_TestData.monvol_lower_cnt)); tf_dev_alarmid.setText(String.format("ID: %02XH\n", Comm_NTM.m_NTM_Cmd.Alarm)); tf_dev_alarm.setText(NTM_Cmd.getDiscAlarm(Comm_NTM.m_NTM_Cmd.Alarm)); panel_chart.updateDate(); panel_testparam.updateData(); panel_data_manage.updateData(); panel_taskinf.updateData(); } } catch (Exception e) { JOptionPane.showMessageDialog(null, "updateData():" + e.getMessage()); } } }