package com.ueky;
|
|
import java.awt.BorderLayout;
|
import java.awt.Color;
|
import java.awt.Dimension;
|
import java.awt.Font;
|
import java.awt.GridLayout;
|
import java.awt.Toolkit;
|
import java.awt.datatransfer.Clipboard;
|
import java.awt.datatransfer.StringSelection;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.awt.event.KeyAdapter;
|
import java.awt.event.KeyEvent;
|
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseEvent;
|
import java.nio.ByteBuffer;
|
import java.util.Vector;
|
|
import javax.swing.BoxLayout;
|
import javax.swing.ButtonGroup;
|
import javax.swing.DefaultComboBoxModel;
|
import javax.swing.ImageIcon;
|
import javax.swing.JButton;
|
import javax.swing.JComboBox;
|
import javax.swing.JFrame;
|
import javax.swing.JLabel;
|
import javax.swing.JMenuItem;
|
import javax.swing.JOptionPane;
|
import javax.swing.JPanel;
|
import javax.swing.JPopupMenu;
|
import javax.swing.JRadioButton;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTabbedPane;
|
import javax.swing.JTable;
|
import javax.swing.JTextField;
|
import javax.swing.Timer;
|
import javax.swing.UIManager;
|
import javax.swing.border.TitledBorder;
|
import javax.swing.table.DefaultTableModel;
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
|
import com.LimitedDocument;
|
import com.dev.bts.data.FBS9100_ComBase;
|
import com.dev.bts.data.FBS9100_ParamBatt;
|
import com.dev.bts.data.FBS9100_ParamDischarge;
|
import com.dev.bts.data.FBS9100_ParamSystem;
|
import com.dev.bts4810.bts4810_page_base;
|
|
import main.main_window_computer;
|
import main.page_debug_inf;
|
import user_app_form.main_form;
|
|
public class ukeycfg_page_base extends JPanel {
|
public CommUKEY Comm_ukey;
|
private page_debug_inf panel_ukey_debug;
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
|
private JPanel panel_ukeyinf; //ºËÈݲÎÊýÃæ°å
|
|
private JPanel panel_ukeyparam; //ukeyÅäÖÃÃæ°å
|
private page_debug_inf panel_debug; //µ÷ÊÔÐÅÏ¢
|
|
private JTextField tf_ukey_id; //ukey_id
|
private JTextField tf_public_x; //public_x
|
private JTextField tf_public_y; //public_y
|
|
|
private JButton btn_read_ukeyinf; //¶ÁÈ¡ukeyÐÅÏ¢
|
|
private JButton btn_write_webukey; //¸üÐÂΪƽ̨°æUKEY
|
private JButton btn_write_devukey; //¸üÐÂΪÉ豸°æUKEY
|
|
private JButton btn_write_setukey; //ÉèÖÃUKEYÐÅÏ¢
|
|
private JTextField tf_opres_inf; //²Ù×÷½á¹ûÐÅÏ¢
|
|
private JTabbedPane tabbedPane;
|
|
private Timer mMainFormTimer = null;
|
|
private Logger logger;
|
/**
|
* Create the panel.
|
*/
|
public ukeycfg_page_base() {
|
|
logger = LogManager.getLogger(ukeycfg_page_base.class);
|
|
setLayout(new BorderLayout(0, 0));
|
|
tabbedPane = new JTabbedPane(JTabbedPane.TOP);
|
add(tabbedPane, BorderLayout.CENTER);
|
|
|
panel_ukeyinf = new JPanel(); //ukeyÐÅÏ¢
|
|
panel_ukeyparam = new JPanel(); //²âÊÔ²ÎÊýÃæ°å
|
|
panel_ukeyparam.setLayout(new BorderLayout(3, 1));
|
|
//UKEYÅäÖÃ
|
// tabbedPane.add(panel_ukeyparam,"UKEY\u914d\u7f6e");
|
tabbedPane.addTab("UKEY\u914d\u7f6e", new ImageIcon(bts4810_page_base.class.getResource("/png_32x32/ukeycfg.png")), panel_ukeyparam, null);
|
|
|
//µ÷ÊÔÐÅÏ¢
|
panel_debug = new page_debug_inf();
|
// tabbedPane.addTab("\u8C03\u8BD5\u4FE1\u606F",null, panel_debug, null);
|
// tabbedPane.addTab("\u8C03\u8BD5\u4FE1\u606F", new ImageIcon(bts4810_page_base.class.getResource("/png_32x32/debuglog.png")), panel_debug, null);
|
|
|
|
panel_ukey_debug = new page_debug_inf();
|
|
JPanel panel_param = new JPanel();
|
//panel_param.setBackground(Color.BLUE);
|
panel_ukeyparam.add(panel_param,BorderLayout.CENTER);
|
panel_param.setLayout(new BoxLayout(panel_param, BoxLayout.Y_AXIS));
|
|
JPanel panel_dis = new JPanel();
|
|
panel_dis.setLayout(new BorderLayout());
|
panel_dis.setBorder(new TitledBorder(null, "UKEY\u4fe1\u606f", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
|
panel_param.add(panel_dis);
|
|
panel_dis.add(panel_ukeyinf,BorderLayout.CENTER);
|
|
panel_ukeyinf.setLayout(new BoxLayout(panel_ukeyinf, BoxLayout.Y_AXIS));
|
// panel_ukeyinf.setLayout(new GridLayout(3, 1));
|
|
/********************************************************************/
|
|
JPanel panel_70 = new JPanel();
|
panel_ukeyinf.add(panel_70);
|
//ukeyid
|
panel_70.setBorder(new TitledBorder(null, "Ukey ID", TitledBorder.LEADING, TitledBorder.TOP, new Font("ËÎÌå", Font.BOLD, 16), null));
|
panel_70.setLayout(new BorderLayout(0, 0));
|
|
tf_ukey_id = new JTextField();
|
tf_ukey_id.setFont(new Font("Courier New", Font.PLAIN, 23));
|
panel_70.add(tf_ukey_id);
|
tf_ukey_id.setColumns(10);
|
//tf_ukey_id.setDocument(new LimitedDocument(65535, "*"));
|
tf_ukey_id.setEditable(false);
|
|
JPanel panel_71 = new JPanel();
|
panel_ukeyinf.add(panel_71);
|
//PublicX
|
panel_71.setBorder(new TitledBorder(null, "PublicX", TitledBorder.LEADING, TitledBorder.TOP, new Font("ËÎÌå", Font.BOLD, 16), null));
|
panel_71.setLayout(new BorderLayout(0, 0));
|
|
tf_public_x = new JTextField();
|
tf_public_x.setFont(new Font("Courier New", Font.PLAIN, 23));
|
panel_71.add(tf_public_x);
|
tf_public_x.setColumns(10);
|
//tf_public_x.setDocument(new LimitedDocument(65535, "*"));
|
|
|
JPanel panel_72 = new JPanel();
|
panel_ukeyinf.add(panel_72);
|
//PublicY
|
panel_72.setBorder(new TitledBorder(null, "PublicY", TitledBorder.LEADING, TitledBorder.TOP, new Font("ËÎÌå", Font.BOLD, 16), null));
|
panel_72.setLayout(new BorderLayout(0, 0));
|
|
tf_public_y = new JTextField();
|
tf_public_y.setFont(new Font("Courier New", Font.PLAIN, 23));
|
panel_72.add(tf_public_y);
|
tf_public_y.setColumns(10);
|
//tf_public_y.setDocument(new LimitedDocument(65535, "*"));
|
|
|
|
JPanel panel_contorl = new JPanel();
|
//panel_contorl.setBackground(Color.yellow);
|
panel_ukeyparam.add(panel_contorl,BorderLayout.SOUTH);
|
panel_contorl.setLayout(new GridLayout(2,0,10,10));
|
|
JPanel panel_82 = new JPanel();
|
panel_contorl.add(panel_82);
|
//panel_82.setBackground(Color.green);
|
panel_82.setLayout(new GridLayout(0,4,5,5));
|
|
JPanel panel_disparam_btn = new JPanel();
|
panel_dis.add(panel_disparam_btn,BorderLayout.SOUTH);
|
|
|
|
|
/********************************************************************/
|
//¶ÁÈ¡UKEYÐÅÏ¢
|
btn_read_ukeyinf = new JButton("\u8bfb\u53d6UKEY\u4fe1\u606f");
|
btn_read_ukeyinf.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
if(null != Comm_ukey.DevicePath && Comm_ukey.DevicePath.length() >0) {
|
Comm_ukey.setCommCmd(CommUKEY.CMD_TYPE_READ);
|
}else {
|
JOptionPane.showMessageDialog(panel_ukeyparam, "δÕÒµ½¼ÓÃÜËø,Çë²åÈë¼ÓÃÜËøºó£¬ÔÙ½øÐвÙ×÷!");
|
}
|
|
}
|
});
|
btn_read_ukeyinf.setFont(new Font("ËÎÌå", Font.PLAIN, 12));
|
panel_82.add(btn_read_ukeyinf);
|
btn_read_ukeyinf.setEnabled(true);
|
|
//¸üÐÂΪƽ̨°æUKEY
|
btn_write_webukey = new JButton("\u66f4\u65b0\u4e3a\u5e73\u53f0\u7248UKEY");
|
btn_write_webukey.setEnabled(false);
|
btn_write_webukey.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
if(null != Comm_ukey.DevicePath && Comm_ukey.DevicePath.length() >0) {
|
Comm_ukey.setCommCmd(CommUKEY.CMD_TYPE_WRITE_WEBUKEY);
|
}else {
|
JOptionPane.showMessageDialog(panel_ukeyparam, "δÕÒµ½¼ÓÃÜËø,Çë²åÈë¼ÓÃÜËøºó£¬ÔÙ½øÐвÙ×÷!");
|
}
|
}
|
});
|
btn_write_webukey.setFont(new Font("ËÎÌå", Font.PLAIN, 12));
|
panel_82.add(btn_write_webukey);
|
|
//¸üÐÂΪÉ豸°æUKEY
|
btn_write_devukey = new JButton("\u66f4\u65b0\u4e3a\u8bbe\u5907\u7248UKEY");
|
btn_write_devukey.setEnabled(false);
|
btn_write_devukey.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
if(null != Comm_ukey.DevicePath && Comm_ukey.DevicePath.length() >0) {
|
Comm_ukey.setCommCmd(CommUKEY.CMD_TYPE_WRITE_DEVUKEY);
|
}else {
|
JOptionPane.showMessageDialog(panel_ukeyparam, "δÕÒµ½¼ÓÃÜËø,Çë²åÈë¼ÓÃÜËøºó£¬ÔÙ½øÐвÙ×÷!");
|
}
|
}
|
});
|
btn_write_devukey.setFont(new Font("ËÎÌå", Font.PLAIN, 12));
|
panel_82.add(btn_write_devukey);
|
|
//ÉèÖÃUKEYÐÅÏ¢
|
btn_write_setukey = new JButton("\u8bbe\u7f6eUKEY\u4fe1\u606f");
|
btn_write_setukey.setEnabled(false);
|
btn_write_setukey.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
|
if(null != Comm_ukey.DevicePath && Comm_ukey.DevicePath.length() >0) {
|
String publicX = tf_public_x.getText(); //public_x
|
String publicY = tf_public_y.getText(); //public_y
|
if(null != publicX && null != publicY && publicX.trim().length()>0 && publicY.trim().length()>0) {
|
Comm_ukey.publicx_set = publicX.trim();
|
Comm_ukey.publicy_set = publicY.trim();
|
Comm_ukey.setCommCmd(CommUKEY.CMD_TYPE_WRITE_SETUKEY);
|
}else {
|
JOptionPane.showMessageDialog(panel_ukeyparam, "ÇëÊäÈëºÏ·¨µÄ¹«Ô¿XºÍ¹«Ô¿Y£¬ÔÙ½øÐвÙ×÷!");
|
}
|
}else {
|
JOptionPane.showMessageDialog(panel_ukeyparam, "δÕÒµ½¼ÓÃÜËø,Çë²åÈë¼ÓÃÜËøºó£¬ÔÙ½øÐвÙ×÷!");
|
}
|
}
|
});
|
btn_write_setukey.setFont(new Font("ËÎÌå", Font.PLAIN, 12));
|
panel_82.add(btn_write_setukey);
|
|
JPanel panel_83 = new JPanel();
|
//²Ù×÷ÐÅÏ¢
|
panel_83.setBorder(new TitledBorder(null, "\u64CD\u4F5C\u4FE1\u606F", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
panel_contorl.add(panel_83);
|
panel_83.setLayout(new BorderLayout(0, 0));
|
|
tf_opres_inf = new JTextField();
|
panel_83.add(tf_opres_inf, BorderLayout.CENTER);
|
tf_opres_inf.setColumns(10);
|
|
tf_opres_inf.setFont(new Font("ËÎÌå", Font.PLAIN, 14));
|
|
//setButttonState(false);
|
|
startCommUKEY(logger);
|
|
/**************************************************************************/
|
mMainFormTimer = new Timer(200, new ActionListener() {
|
@Override
|
public void actionPerformed(ActionEvent arg0) {
|
updateData();
|
}
|
});
|
mMainFormTimer.start();
|
}
|
|
public boolean startCommUKEY(Logger log) {
|
boolean res = false;
|
Comm_ukey = new CommUKEY(panel_debug, log);
|
|
Thread spcommThread = new Thread(Comm_ukey);
|
spcommThread.start();
|
|
setButttonState(true);
|
|
res = true;
|
|
return res;
|
}
|
|
public void closeCommPort() {
|
if(null != Comm_ukey) {
|
Comm_ukey.exitCommPortThread();
|
Comm_ukey = null;
|
|
setButttonState(false);
|
}
|
}
|
|
public void setButttonState(boolean state) {
|
|
//btn_read_ukeyinf.setEnabled(state); //¶ÁÈ¡ukeyÐÅÏ¢
|
btn_write_webukey.setEnabled(state); //¸üÐÂΪƽ̨°æUKEY
|
btn_write_devukey.setEnabled(state); //¸üÐÂΪÉ豸°æUKEY
|
btn_write_setukey.setEnabled(state); //ÉèÖÃUKEYÐÅÏ¢
|
|
|
}
|
|
public void updateData() {
|
try{
|
//System.out.println(Comm_ukey);
|
|
if(null != Comm_ukey) {
|
|
// String group_onlinevol_text = "";
|
// String group_vol_text = "";
|
// String group_curr_text = "";
|
// String batt_state_text = "";
|
// for(int n=0; n<2; n++) {
|
// group_onlinevol_text += String.format("G%d:%1.2f ", n+1, Comm_BTS4810.m_FBS_VCData.onlinevol[n]);
|
// group_vol_text += String.format("G%d:%1.2f ", n+1, Comm_BTS4810.m_FBS_VCData.groupvol[n]);
|
// group_curr_text += String.format("G%d:%1.1f ", n+1, Comm_BTS4810.m_FBS_VCData.battcurr[n]);
|
// batt_state_text += String.format("G%d:%d ", n+1, Comm_BTS4810.m_FBS_VCData.battstate[n]);
|
// }
|
|
|
// group_onlinevol_text = "";
|
// group_vol_text = "";
|
// group_curr_text = "";
|
// batt_state_text = "";
|
// for(int n=2; n<FBS9100_ComBase.BattGroupCountMax; n++) {
|
// group_onlinevol_text += String.format("G%d:%1.2f ", n+1, Comm_BTS4810.m_FBS_VCData.onlinevol[n]);
|
// group_vol_text += String.format("G%d:%1.2f ", n+1, Comm_BTS4810.m_FBS_VCData.groupvol[n]);
|
// group_curr_text += String.format("G%d:%1.1f ", n+1, Comm_BTS4810.m_FBS_VCData.battcurr[n]);
|
// batt_state_text += String.format("G%d:%d ", n+1, Comm_BTS4810.m_FBS_VCData.battstate[n]);
|
// }
|
tf_opres_inf.setText(Comm_ukey.dev_control_Str);
|
|
|
if(CommUKEY.DEV_PARAM_DATA_STATE_UKEYQUERY == Comm_ukey.dev_param_data_state) {
|
Comm_ukey.dev_param_data_state = CommUKEY.DEV_PARAM_DATA_STATE_NULL;
|
//¶ÁÈ¡UKEYÐÅÏ¢³É¹¦
|
|
tf_ukey_id.setText(Comm_ukey.getUkeyid_str());; //public_x
|
tf_public_x.setText(Comm_ukey.getPublicx_str());; //public_x
|
tf_public_y.setText(Comm_ukey.getPublicy_str());; //public_y
|
|
}else if(CommUKEY.DEV_PARAM_DATA_STATE_UEKYWEB == Comm_ukey.dev_param_data_state) {
|
Comm_ukey.dev_param_data_state = CommUKEY.DEV_PARAM_DATA_STATE_NULL;
|
//ÉèÖÃΪƽ̨UKEY
|
tf_public_x.setText(Comm_ukey.getPublicx_str());; //public_x
|
tf_public_y.setText(Comm_ukey.getPublicy_str());; //public_y
|
|
}else if(CommUKEY.DEV_PARAM_DATA_STATE_UEKYDEV == Comm_ukey.dev_param_data_state) {
|
Comm_ukey.dev_param_data_state = CommUKEY.DEV_PARAM_DATA_STATE_NULL;
|
//ÉèÖÃΪÉ豸°æUKEY
|
tf_public_x.setText(Comm_ukey.getPublicx_str());; //public_x
|
tf_public_y.setText(Comm_ukey.getPublicy_str());; //public_y
|
}else if(CommUKEY.DEV_PARAM_DATA_STATE_SETUKEY == Comm_ukey.dev_param_data_state) {
|
Comm_ukey.dev_param_data_state = CommUKEY.DEV_PARAM_DATA_STATE_NULL;
|
//ÉèÖÃUKEYÐÅÏ¢
|
|
}
|
|
/*
|
String inf_t = "";
|
if(Math.abs(new Date().getTime() - SerialComm_FBS9100.dt_cmd_ack_time.getTime()) < (1000*5)) {
|
inf_t = SPCommFBS9100.ZDHJ_OP_REST_INF_TEXT[SerialComm_FBS9100.dt_cmd_ack]
|
+ " @ " + Com.get_DTF(SerialComm_FBS9100.dt_cmd_ack_time, Com.DTF_YMDhms);
|
}
|
tf_op_rest_inf.setText(inf_t);
|
tf_param_set_inf.setText(inf_t);
|
*/
|
|
|
|
//m_TBarMonVolChart.updateChartData(TBarChart.Bar_Type_MonVol, SerialComm_FBS9100.m_FBS_VCData.vol, mon_cnt);
|
//m_TBarMonResChart.updateChartData(TBarChart.Bar_Type_MonRes, SerialComm_FBS9100.m_FBS_ResCapData.m_res, mon_cnt);
|
//m_TBarMonTmpChart.updateChartData(TBarChart.Bar_Type_MonTmp, SerialComm_FBS9100.m_FBS_ResCapData.m_tmp, mon_cnt);
|
|
/*
|
m_LineMonChart.updateChartData(dt);
|
//if(tab_panel_zdhj)
|
if(SerialComm_FBS9100.m_TaskList.limit() > 10) {
|
SerialComm_FBS9100.m_TaskList.position(0);
|
byte[] str_b = new byte[SerialComm_FBS9100.m_TaskList.limit()];
|
|
for(int n=0; n<str_b.length; n++) {
|
byte tmp = SerialComm_FBS9100.m_TaskList.get();
|
if(tmp > 0) {
|
str_b[n] = tmp;
|
} else {
|
break;
|
}
|
}
|
ta_task_list.setText(new String(str_b, "GB2312"));
|
}*/
|
}
|
} catch (Exception e) {
|
JOptionPane.showMessageDialog(null, "updateData():" + e.getMessage());
|
}
|
|
}
|
public static void main(String[] args) {
|
JFrame frmSerialport = new JFrame();
|
frmSerialport.setFont(new Font("ËÎÌå", Font.PLAIN, 12));
|
//frmSerialport.setResizable(false);
|
|
frmSerialport.setIconImage(Toolkit.getDefaultToolkit().getImage(main_window_computer.class.getResource("/main/12164006.png")));
|
frmSerialport.setBounds(100, 100, 1180, 640);
|
frmSerialport.setMinimumSize(new Dimension(1160, 640));
|
//frmSerialport.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
frmSerialport.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
frmSerialport.setLocationRelativeTo(null);
|
|
ukeycfg_page_base page = new ukeycfg_page_base();
|
|
frmSerialport.add(page);
|
|
|
frmSerialport.setVisible(true);
|
|
}
|
|
}
|