Java Thread – Executor framework, Timer and TimerTask

With the Thread class you could create your own timer class using the Thread.sleep(T) method to delay action for some time . This approach, however, has some drawbacks. For periodic events, if the processing times in between the sleep periods vary significantly, then the overall timing will mismatch. Also, if you need many timer events, the program will require many threads and use up system resources.

We can create a Timer functionality withExecutor frameworks and also there is Timer and Timertask available in java.util package. We will see both methods to create Timer functionality.

setBackground not working in Swing or AWT

I tried to change the background color of the JLabel control.

I tried lots of time, gone through JAVA documentation but it doesn’t helped much. After digging i found that few controls in JAVA have transparent background color and therefore controls having transparent background does not work for the setBackground() property.

To set the background color of such controls, we need to explicitly set the Opaque to true.

JLabel lblMousePointer.setBackground(Color.white);
lblMousePointer.setOpaque(true);

setBounds method not working

While working on Swings and AWT, i used the setBounds(int x,int y,int width,int height) method of control as per API documentation.
However soon i realized that this method is not working as per expected.
After few try i found that setBounds() method only works if the Layout of container of control is null.

The layout of the container can be set null like below code:

frame.getContentPane().setLayout(null);