package com.ycl.api.YS.user; import com.sun.jna.Pointer; import com.ycl.api.YS.util.Common; import com.ycl.api.YS.lib.NetDEVSDKLib; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_CHN_PERMISSION_INFO_S; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_MOTION_DETECTION_AREA_GRID_INFO_S; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_USER_DETAIL_INFO_S; import javax.swing.*; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import java.awt.*; import java.util.Vector; public class MaintenaceUserInfoWindow extends JDialog{ private static final long serialVersionUID = 1L; NETDEV_MOTION_DETECTION_AREA_GRID_INFO_S stGridInfo; private JTable UserTable; private Pointer lpUserId; private int ChannelID; JPanel UserInfoPanel = new JPanel(); Vector User_HeaderNames; NetDEVSDKLib netdevsdk = NetDEVSDKLib.NETDEVSDK_INSTANCE; public MaintenaceUserInfoWindow(Pointer lpUserID,int ChannelID, String userName) { this.lpUserId = lpUserID; this.ChannelID = ChannelID; this.setSize(1400,800); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); this.setTitle("User information"); 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(UserInfoPanel, BorderLayout.CENTER); UserInfoPanel.setLayout(null); UserInfoPanel.setVisible(true); //判断登陆设备类型为IPC/NVR UserTable = new JTable(); JScrollPane scrollPaneMaintenanceIPC = new JScrollPane(UserTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); scrollPaneMaintenanceIPC.setBounds(33, 20, 1327, 503); UserInfoPanel.add(scrollPaneMaintenanceIPC, BorderLayout.CENTER); User_HeaderNames = new Vector(); User_HeaderNames.add("Level"); User_HeaderNames.add("UserName"); User_HeaderNames.add("PassWord"); User_HeaderNames.add("BasePermission"); User_HeaderNames.add("ChannelID"); User_HeaderNames.add("Permission"); Vector data = this.getData(userName); TableModel tableModel = new DefaultTableModel(data,User_HeaderNames); UserTable.setModel(tableModel); } public Vector getData(String userName) { Vector data = new Vector(); NETDEV_USER_DETAIL_INFO_S pstUserDetailInfo = new NETDEV_USER_DETAIL_INFO_S(); for(int i = 0; i < NetDEVSDKLib.NETDEV_CHANNEL_MAX; i++) { pstUserDetailInfo.astChnPermission[i] = new NETDEV_CHN_PERMISSION_INFO_S(); } Common.stringToByteArray(userName,pstUserDetailInfo.szUserName); pstUserDetailInfo.write(); boolean bRet = netdevsdk.NETDEV_GetUserDetailInfo(lpUserId, pstUserDetailInfo); if(bRet != true) { System.out.printf("NETDEV_GetUserDetailInfo failed:%d\n", netdevsdk.NETDEV_GetLastError()); return null; } pstUserDetailInfo.read(); int i=0; while(i