public synchronized void paint(Graphics g) { if (mLastFrame == null) { return; } int framePosX = 0; int framePosY = 0; VideoFrameRef depthFrame = mLastFrame.getDepthFrame(); if (depthFrame != null) { int width = depthFrame.getWidth(); int height = depthFrame.getHeight(); // make sure we have enough room if (mBufferedImage == null || mBufferedImage.getWidth() != width || mBufferedImage.getHeight() != height) { mBufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); } mBufferedImage.setRGB(0, 0, width, height, mDepthPixels, 0, width); framePosX = (getWidth() - width) / 2; framePosY = (getHeight() - height) / 2; g.drawImage(mBufferedImage, framePosX, framePosY, null); } for (UserData user : mLastFrame.getUsers()) { if (user.getSkeleton().getState() == SkeletonState.TRACKED) { drawSkeleton(g, framePosX, framePosY, user); // spatial joint's coordinates // giveMeSpatialCoordinateJoints(user); try { createSkeletonInstances(user); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (user.getSkeleton().getState() == SkeletonState.TRACKED && startedTest) { try { createSkeletonInstances(user); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } // System.out.println("send"); } } }