Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Concentric circle using JPanel

 
Dj Lee
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello, I'm a beginner in Java and I'm trying to create a jpanel that
creates 10 concentric circles with random radius. But I'm having a bit trouble with it.

Here are my codes:




When I run this, I get only one circle (sometimes none...)
if i set radius = generator.nextInt(MAX_DIAMETER) + 1;

But if i replace MAX_DIAMETER which is 600, to something small maybe 100.
radius = generator.nextInt(100)+1;
than i get 5-10 circles...

What am i doing wrong??
 
Paul Clapham
Sheriff
Posts: 21107
32
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sounds to me like using a big number causes most of the 10 circles to be located outside of the box displayed in your panel.
 
Dj Lee
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul Clapham wrote:Sounds to me like using a big number causes most of the 10 circles to be located outside of the box displayed in your panel.


the panel is running in (600, 600) so isnt it suppose to show all the circles since I set the diameter of the circle to not exceed 600?
 
Paul Clapham
Sheriff
Posts: 21107
32
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That would be true if the centres of the circles were all at (0, 0). But it isn't true if the centre of the circles is way outside your box.
 
Debashis jain
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When I run this, I get only one circle (sometimes none...)
if i set radius = generator.nextInt(MAX_DIAMETER) + 1;

But if i replace MAX_DIAMETER which is 600, to something small maybe 100.
radius = generator.nextInt(100)+1;
than i get 5-10 circles...

What am i doing wrong??


The radius of the circle is (diameter/2)
"generator.nextInt(MAX_DIAMETER) "when you are using this function that's mean you are expecting a random number from 0-600
so when you write the code diameter=2*radius....actually the diameter at most of the time becomes as big as 1200,and your panel size is (600,600) so it won't suit the created circles.
 
Campbell Ritchie
Sheriff
Pie
Posts: 48972
60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think this thread would sit better on our GUIs forum: moving.
 
Campbell Ritchie
Sheriff
Pie
Posts: 48972
60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
. . . and welcome to the Ranch
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic