One of my friends is working on a program to test a LCD screen capability. In that program, some test screen patterns (like some BMPs) are drawn on the screen and switch between these patterns with frequency of 120Hz or 240Hz, depending on the frame rate of the video card. My friend did it with DirectX. He said that the pattern must be write into VGA memory directly in order to catch the speed of the frame rate of the video card. However, DirectX is not a cross-platform library. I am now trying to complete this in Java. Can Java complete this task?
Technically it should be possible using GraphicsDevice.setFullScreenWindow, a javax.swing.Timer and either custom painting or a window-filling JLabel with the image. For 120Hz (120/s) the timer's delay should be 1000/120 which is about 8, and 1000/240 which is about 4. These might be too small to be accurately handled though.
Here's some code from a game that I'm currently writing, you might find it helpful. It uses a two buffer strategy and blits between them to avoid tearing. It also uses active rendering instead of waiting for repaint events which should help you control the frame rate. It keeps track of the frame rate, so that should help you make sure it's fast enough; just set the RenderThread.sleep() to 8 or 4 like rob said.