package com.dev.bybb; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Vector; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableModel; import main.page_debug_inf; import main.page_dfu; import javax.swing.JList; import javax.swing.AbstractListModel; import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionEvent; import javax.swing.JLabel; import javax.swing.ListSelectionModel; import javax.swing.SwingConstants; import org.apache.logging.log4j.Logger; public class bybb_page_base extends JPanel { public CommBYBB Comm_BYBB; private page_debug_inf panel_debug; private page_dfu panel_dfu; private bybb_page_sendudp page_sendudp; private bybb_paga_parm page_parm; private JTable table_bybb_data; private Vector columnVector; private Vector> dataRow; private static final long serialVersionUID = 1L; private JTextField tf_dev_version; private JTabbedPane tabbedPane; private JPanel panel; private JList list_datsel; private JLabel lbl_dataname; /** * Create the panel. */ public bybb_page_base() { 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_44 = new JPanel(); panel.add(panel_44, BorderLayout.CENTER); panel_44.setLayout(new BorderLayout(0, 0)); lbl_dataname = new JLabel(""); lbl_dataname.setHorizontalAlignment(SwingConstants.CENTER); panel_44.add(lbl_dataname, BorderLayout.NORTH); JScrollPane scrollPane_2 = new JScrollPane(); panel_44.add(scrollPane_2); table_bybb_data = new JTable(); columnVector = new Vector(); columnVector.add("ÐкÅ"); for(int n=0; n<10; n++) { columnVector.add("ÁÐ" + n); } dataRow = new Vector>(); table_bybb_data.setModel(new DefaultTableModel(dataRow, columnVector)); MouseAdapter m_a = new MouseAdapter() { public void mouseReleased(MouseEvent e) { if(e.getSource() != table_bybb_data) { return; } /* int selectColumn = m_JTable.columnAtPoint(e.getPoint()); int selectRow = m_JTable.rowAtPoint(e.getPoint()); if (selectColumn == mCheckBoxColnumIndex) { boolean value = (boolean) m_JTable.getValueAt(selectRow, selectColumn); m_UI_Monit.m_MonLineChart.getSeries(selectRow+1).setVisible(!value); } */ } public void mousePressed(MouseEvent evt) { if (evt.getButton() == MouseEvent.BUTTON3) { JPopupMenu popupMenu = new JPopupMenu(); JMenuItem tableItem_export_data = null; tableItem_export_data = new JMenuItem("¸´ÖƵ½¼ôÌù°å"); tableItem_export_data.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { Clipboard clipboard = getToolkit().getSystemClipboard(); String temp = ""; for(int c=0; c(); list_datsel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); list_datsel.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent arg0) { } }); panel_58.add(list_datsel); list_datsel.setModel(new AbstractListModel() { /** * */ private static final long serialVersionUID = 1L; String[] values = new String[] {"DAT_BUF_EthCpt1", "DAT_BUF_EthCpt2", "DAT_BUF_EthWgu1", "DAT_BUF_EthWgu2", "DAT_BUF_CanCpt1", "DAT_BUF_CanCpt2", "DAT_BUF_CanWgu1", "DAT_BUF_CanWgu2", "DAT_BUF_DEthLcu11", "DAT_BUF_DEthLcu12", "DAT_BUF_DEthLcu21", "DAT_BUF_DEthLcu22", "DAT_BUF_DCanLcu11", "DAT_BUF_DCanLcu12", "DAT_BUF_DCanLcu21", "DAT_BUF_DCanLcu22", "DAT_Main_DATAS", "DAT_Main_ALARM", "DAT_Comm_STATES", "DAT_Main_LED_STATE"}; public int getSize() { return values.length; } public Object getElementAt(int index) { return values[index]; } }); list_datsel.setSelectedIndex(0); page_sendudp = new bybb_page_sendudp(); tabbedPane.addTab("UDP·ÂÕæ·¢ËÍ", null, page_sendudp, null); panel_dfu = new page_dfu(); panel_dfu.ckc_read_check.setSelected(true); panel_dfu.ckc_read_check.setEnabled(false); tabbedPane.addTab("DFU²Ù×÷", null, panel_dfu, null); page_parm = new bybb_paga_parm(); tabbedPane.addTab("²ÎÊýÉèÖÃ", null, page_parm, null); panel_debug = new page_debug_inf(); tabbedPane.addTab("µ÷ÊÔÐÅÏ¢", null, panel_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_BYBB = new CommBYBB(comm_type, dev_addr, bitrate_or_ipport, panel_debug, log); if(true == Comm_BYBB.OpenCommPort(spname_or_ipaddr, bitrate_or_ipport)) { Thread spcommThread = new Thread(Comm_BYBB); spcommThread.start(); page_sendudp.openCommPort(spname_or_ipaddr, bitrate_or_ipport, panel_debug); panel_dfu.setComm_BYBB(Comm_BYBB); page_parm.setComm_BYBB(Comm_BYBB); setButttonState(true); res = true; } return res; } public void closeCommPort() { if(null != Comm_BYBB) { Comm_BYBB.exitCommPortThread(); Comm_BYBB = null; } page_sendudp.closeCommPort(); setButttonState(false); } public void setButttonState(boolean state) { page_sendudp.setButttonState(state); panel_dfu.setButttonState(state); page_parm.setButttonState(state); } public void updateData() { try{ if(null != Comm_BYBB) { tf_dev_version.setText(Comm_BYBB.dev_stat_version_Str); lbl_dataname.setText((String) list_datsel.getSelectedValue()); int dat_num = list_datsel.getSelectedIndex() + CommBYBB.DAT_BUF_EthCpt1; String dat_format = "%02X"; String str_format = "16½øÖÆÊý"; if(CommBYBB.DAT_BUF_STATES == dat_num) { dat_format = "%d"; str_format = "10½øÖÆÊý"; } else if(CommBYBB.DAT_CAL_LED_STATE == dat_num) { dat_format = "%04X"; } lbl_dataname.setText((String) list_datsel.getSelectedValue() + ": " + str_format); Comm_BYBB.setReadDataCmd_Num(dat_num); int[] dat_show = new int[0]; if(dat_num <= CommBYBB.DAT_CAL_ALARM) { byte[] dat_tmp = Comm_BYBB.getByteData(dat_num); dat_show = new int[dat_tmp.length]; for(int n=0; n row = new Vector(); row.addElement(String.format("%03d", low_n)); for(int col_n=0; col_n<10; col_n++) { if((low_n*10 + col_n) < dat_show.length) { row.addElement(String.format(dat_format, dat_show[low_n*10 + col_n])); } else { row.addElement(""); } } dataRow.add(row); } } else { for(int low_n=0; low_n