This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes drawstring on canvas Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Beginning Java
Bookmark "drawstring on canvas" Watch "drawstring on canvas" New topic
Author

drawstring on canvas

Dennis Riggs
Greenhorn

Joined: Mar 24, 2001
Posts: 9
I have seven buttons. Each button draws a different string. In my actionlistener method, I first call repaint to clear the canvas, then I draw the string. Unfortunatly, after clearing the canvas, the new text is drawn, then repainted again. Any solutions?
thanks,
dennis
Cindy Glass
"The Hood"
Sheriff

Joined: Sep 29, 2000
Posts: 8521
Some code would help.


"JavaRanch, where the deer and the Certified play" - David O'Meara
Dennis Riggs
Greenhorn

Joined: Mar 24, 2001
Posts: 9
Thanks Cindy,
Here is the paint method:

The system.out is for my troubleshooting. If you have a clue, I'd appreciate some help.
thanks,
dennis
(edited by Cindy to format code)
[This message has been edited by Cindy Glass (edited March 26, 2001).]
Cindy Glass
"The Hood"
Sheriff

Joined: Sep 29, 2000
Posts: 8521
Try reading this painting tutorial: http://java.sun.com/docs/books/tutorial/uiswing/overview/draw.html
[This message has been edited by Cindy Glass (edited March 26, 2001).]
Dennis Riggs
Greenhorn

Joined: Mar 24, 2001
Posts: 9
Thanks for the tip. Although the link refers to swing, does the Opaque also work for AWT?
thanks,
dennis
Cindy Glass
"The Hood"
Sheriff

Joined: Sep 29, 2000
Posts: 8521
Well the AWT components get their opaque window from the native window.
This is a rather old article disussing how to turn heavyweight AWT components into lightweight components - which is exactly what Swing does for you: http://java.sun.com/products//jdk/1.2/docs/guide/awt/designspec/lightweights.html
Dennis Riggs
Greenhorn

Joined: Mar 24, 2001
Posts: 9
You may consider me dense if you like. It seems maybe I haven't communicated my problem very well, or Java is much more verbose than I thought it was. When I run my code above, the expected system.out should be 1st: "I'm at Paint" then second, "I'm at btn 2" however just the oppisite occurs. In order to get around this, do I truely need to worry about Opaque, and lightweight controls? Or is there something I can do with my present code to solve the problem that Paint is actually called before my drawstring instead of after? thanks with your patience.
Cindy Glass
"The Hood"
Sheriff

Joined: Sep 29, 2000
Posts: 8521
Sorry I though that they were two separate questions.
I would think that calling repaint inside paint would cause a problem, however let's move this to AWT/Swing and see if you get some better suggestions.
 
GeeCON Prague 2014
 
subject: drawstring on canvas