I am creating a GUI application using Java and Swing. The GUI portion of the application consists of two panels, one above the other. The frame is given a border layout so that the top panel can be placed in the NORTH section and the bottom panel can be placed in the WEST section. The top panel contains a text field and a button. The bottom panel contains a canvas for drawing shapes. This is where it starts to get tricky for me. The canvas must always be a perfect square. When the application loads, the top panel is filled and added to the frame. Then I have to figure out how much blank space is available for the bottom panel. The canvas must take up this blank space. But since it has to be a perfect square, the shorest side of the available space must be used as the value for the height and width of the canvas. I could pass all of this information along through the constructors of all of my components, but the reason I don't want to do this is because I also have to reconfigure the size of the canvas each time the window is resized. To me, it would make more sense to use a function in my class MyCanvas (which extends Canvas) to update the size of the canvas each time paint is called. I should also add that I am programmatically setting the size and location of the window based on the screen resolution when the application loads. Any ideas to help me solve this problem would be much appreciated.
You can't expect to wield supreme executive power just because
the new thread boost feature brings a LOT of attention to your favorite threads