aspose file tools*
The moose likes Swing / AWT / SWT and the fly likes repaint() won't call paint() and I'm out of ideas why Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "repaint() won Watch "repaint() won New topic
Author

repaint() won't call paint() and I'm out of ideas why

Jeff Finn
Greenhorn

Joined: Aug 07, 2005
Posts: 13
I've been banging my head on this for a while now. In run() everything is peachy if I use show(). I'm pretty sure I need to use repaint() if I want to move the figure around the board without tracers. also, the thread doesn't quit when I close the app, but that's not my big problem now.

heres the code (all of it) edited, compiled and run in BlueJ

Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24168
    
  30

Hi,

Welcome to JavaRanch!

First, I note that in your haste to come in and ask a question, you seem to have missed reading our policy on display names, which quite clearly states that you must use a real (sounding) first and last name for your display name -- no joke names, "handles," or last initials are acceptable. You can fix your display name here. We take this policy rather seriously. Thanks for your cooperation!

Second, your problem: this ought to work, more or less, if you get the JFrame to appear on the screen by calling setVisible(true) in your constructor.

As far as the threads not stopping: graphics programs simply won't quit unless you, one way or another, arrange to have System.exit() be called; usually just by calling setDefaultCloseOperation() on your JFrame.

I should point out that you're mixing AWT and Swing techniques here. With Swing, you don't override paint(), but rather paintComponent(); you always call super.paintComponent(); and you don't need to override update(). Typically you'd write a subclass of a JPanel, not a JFrame, and add that JPanel to an "off-the-shelf" JFrame.

Finally, we've got a Swing/AWT forum here where this post would fit right in. I'm going to move it there. See you around the Ranch!


[Jess in Action][AskingGoodQuestions]
Jeff Finn
Greenhorn

Joined: Aug 07, 2005
Posts: 13
Thank You for your Help, I've fixed my name, too.
Jeff Finn
Greenhorn

Joined: Aug 07, 2005
Posts: 13
now that It moves, how do I get rid of the flicker? or is it just my compiler?
Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
see if this is any better

Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24168
    
  30

I'm sure Michael's code is going to be a big improvement flicker-wise; the JPanel class implements double-buffering internally, and he's doing things the Swing way, as I suggested.

Art Vandelay is the fake name George Costanza gave to prospective dates and employers, etc. A famous fake name is worse, I think, than what you started with! Can we go with something a bit less flashy, please? "Joe Finn" sounds nice.
Jeff Finn
Greenhorn

Joined: Aug 07, 2005
Posts: 13
wow. that's slick; I got a long way to go...
thanks for your help,
Jeff
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: repaint() won't call paint() and I'm out of ideas why
 
Similar Threads
help with oval
Need help breaking up this code
Animation Problem
repaint() won't call paint() and I'm out of ideas why
data structure of choice.