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;
|
}
|
}
|
});
|
|
|
}
|
}
|