File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Problem in code need help Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Problem in code need help" Watch "Problem in code need help" New topic

Problem in code need help

Louis Paumier

Joined: Sep 14, 2008
Posts: 1
Hi I am new to java and for my first assignment in my java class we were to write a program which generated 4 semi randomly placed rectangles with semi random colors and sizes. Then when two rectangles are clicked on they are to switch places. I am using a constructor to construct all four rectangles and this portion of the code is working just as it is supposed to. However, the portion to switch the rectangles is not working and after looking at it for literally hours I can not figure out why. I am not completely new to programming as I have been in other courses as well but for some reason I am stumped. If you could please at least point me in the direction of my problem that would be great. I don't expect someone to tell me explicitly the problem but any help would be greatly appreciated as my assignment is due tommorrow. Thanks ahead of time.

The following is my code the second section being the constructor and the first being the class to switch the rectangles and such:


[edit]Add newlines to avoid very long lines[/edit]
[ September 15, 2008: Message edited by: Campbell Ritchie ]
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46437
Welcome to JavaRanch

Please check the settings on your text editor; have you got tab = 8 spaces? If so change it to "replace tab with spaces" and "tab = 4 spaces." Also make sure to put a space after every comma. Both features which will gain marks. Also don't write lines so long they fall off the edge of the screen. Nesting assignment statements inside constructor calls will lose you marks, I am afraid.

What you need to do when clicking on a Rectangle is to store its fields (x, y, height, width, colour) somewhere, then when you click on the other rectangle, apply its x y height width colour to the first rectangle, then apply the stored variables to the 2nd rectangle. You may need a "mouseClicked" method which means that one of your Components has to implement the MouseListener interface. Remember that interface has 5 methods in, so you might need to implement 4 as "empty", or use the MouseAdapter. You can use an if-else on the firstClick field to choose which rectangle is frstToSwap and which is secondToSwap.

[edit]Minor spelling corrections.[/edit]
[ September 15, 2008: Message edited by: Campbell Ritchie ]
I agree. Here's the link:
subject: Problem in code need help
It's not a secret anymore!