Forums Register Login
JFrame background seems to be a picture of the desktop - why?
Good Morning Everyone,

Still a greenhorn but stepping up to coding my own "experiments".

This little Java program works but the JFrame's background seems to be that part of the desktop where the window happened to be located when it first appears.
Dragging the JFrame to a different lccation and then "damaging" it by minimising - maximising, changes the background but its still a picture of the desktop at that location.

A snapshot of the JFrame is attached.

The design of this little program is: (all three classes are listed below):

* Class MyDrawing. Defines an oval centred at a specifed point and specified width and height.
The oval is drawin onto a Graphics object

* Class ArtFrame. A constructor of this class accepts a MyDrawing object as a parameter.

* Class ShowFrame. The entry point into the program. Contains the main method.

Any help is most appreciated.


[Thumbnail for screenshot-JFrame.JPG]
(1 like)
You are missing super.paint(g) in your paint method of ArtFrame class. Add it as a first statement of the method, and it should work properly.
(1 like)
Rather than doing that, don't perform custom painting in a top level window. Learn how to do it the correct way here: Performing Custom Painting.

Also learn to respect Swing's single threaded rule: Concurrency in Swing. All Swing methods and constructors should be called on the EDT.

Very helpful answers.

It is resolved.

This thread has been viewed 1032 times.

All times above are in ranch (not your local) time.
The current ranch time is
Dec 11, 2018 05:03:37.