package com.ycl.api.YS.vca.face; import com.sun.jna.Pointer; import com.sun.jna.ptr.IntByReference; import com.ycl.api.YS.NetDemo; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_ID_LIST_S; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_LIB_INFO_S; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class SyncPersonLibWindow extends JDialog{ private Pointer lpUserId; JPanel PersonLibWindowPanel = new JPanel(); public SyncPersonLibWindow(Pointer lpUserID) { this.lpUserId = lpUserID; this.setSize(429,299); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); this.setTitle("Synchronize"); this.setVisible(true); Toolkit toolkit=Toolkit.getDefaultToolkit(); Dimension screenSize =toolkit.getScreenSize(); int x=(screenSize.width-this.getWidth())/2; int y=(screenSize.height-this.getHeight())/2; this.setLocation(x,y); getContentPane().add(PersonLibWindowPanel, BorderLayout.CENTER); PersonLibWindowPanel.setLayout(null); JScrollPane SyncDeviceScrollPane = new JScrollPane(); SyncDeviceScrollPane.setBounds(10, 10, 393, 207); PersonLibWindowPanel.add(SyncDeviceScrollPane); NetDemo.SyncLibToDeviceTable = new JTable(NetDemo.SyncDeviceModel) { public boolean isCellEditable(int row,int column) { return false; } }; SyncDeviceScrollPane.setViewportView(NetDemo.SyncLibToDeviceTable); JButton jButtonSync = new JButton("Synchornize"); jButtonSync.setBounds(59, 227, 110, 23); PersonLibWindowPanel.add(jButtonSync); JButton jButtonCancle = new JButton("Cancle"); jButtonCancle.setBounds(235, 227, 110, 23); PersonLibWindowPanel.add(jButtonCancle); /* Get device ID */ NetDemo.SyncLibToDeviceTable.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { int row = NetDemo.SyncLibToDeviceTable.rowAtPoint(e.getPoint()); NetDemo.deviceID = Integer.parseInt(NetDemo.SyncLibToDeviceTable.getValueAt(row, 0).toString()); } }); jButtonCancle.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dispose(); } }); jButtonSync.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { NETDEV_LIB_INFO_S stPersonLibInfo = NetDemo.mapPersonLib.get(NetDemo.jComboBoxPersonLib.getItemAt(NetDemo.jComboBoxPersonLib.getSelectedIndex())); NETDEV_ID_LIST_S stDeviceIDList = new NETDEV_ID_LIST_S(); stDeviceIDList.udwNum = 1; stDeviceIDList.pudwIDs = new IntByReference(NetDemo.deviceID); /* 将指定人脸库同步至设备 返回成功表示接口下发参数成功 * 获取同步信息需调用NETDEV_FindPersonLibSyncInfoList、NETDEV_FindNextPersonLibSyncInfo、NETDEV_FindClosePersonLibSyncInfoList */ boolean bRet = NetDemo.netdevsdk.NETDEV_SyncPersonLibToDevice(lpUserID, stPersonLibInfo.udwID, stDeviceIDList); if (bRet) { JOptionPane.showMessageDialog(null, "NETDEV_SyncPersonLibToDevice success"); } else { JOptionPane.showMessageDialog(null, "NETDEV_SyncPersonLibToDevice failed: "+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } } }); } }