Results 1 to 7 of 7
  1. #1
    Messi5454 is offline Member
    Join Date
    Sep 2013
    Posts
    21
    Blog Entries
    1
    Rep Power
    0

    Question Help centering the square inside

    I emailed the instructor my code and he said the only thing i have to do is center my inner square .
    i attached picture
    Attachment 5522

    Java Code:
    import java.awt.*;
    
    import javax.swing.*;
    
    
    // begining of the Gepmetry class
    // geometry class uses JFrame to draw the window and 
    // geometric shapes  
    public class Hw2  extends JFrame {
    
    //Variables to use for drawing 3 shapes.
    
    //variable for circle
    public double cir_x = 0;
    public double cir_y = 0;
    public double cir_width = 0;
    public double cir_height = 0;
    public Color cir_color = null;
    
    //variables for square1
    public double square_x1 = 0;
    public double square_y1 = 0;
    public double square_width1 = 0;
    public double square_height1 = 0;
    public Color square_color1 = null;
    
    //variables for square2
    public double square_x2 = 0;
    public double square_y2 = 0;
    public double square_width2 = 0;
    public double square_height2 = 0;
    public Color square_color2 = null;
    
    //constructor function
    //this function is executed once we define a variable of
    //type class geometry in main.
    //this function creates the canvas with size of 500 by 500.
    //you can change the size if its needed
    public Hw2() {
    
     setSize(new Dimension(500, 500));
     // program will be finished by closing the window 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     // make the window visible
     setVisible(true);
    }
    
    //This function draws the shapes on the window
    //and get called automatically ( no need to call it saparely)
    //this function uses the variables that are defined above. The value of the
    //variables are set in main file.
    public void paint(Graphics g) {
    
         // draws the rectangle without color 
    	if(square_color1 == null)
    	{
    	    g.drawRect((int)square_x1, (int)square_y1, (int)square_width1, (int)square_height1);
    		
    	}
    	else
    	{
            // draws rectangle with color 
    		g.setColor(square_color1);
    	    g.fillRect((int)square_x1, (int)square_y1, (int)square_width1, (int)square_height1);
    	}
    	
    
    	if (cir_color == null)
    	{
    		g.drawOval((int)cir_x, (int)cir_y, (int)cir_width, (int)cir_height);
    	}
    	else
    	{
    		g.setColor(cir_color);
    		g.fillOval((int)cir_x, (int)cir_y, (int)cir_width, (int)cir_height);
    	}
    
    
       
    	if (square_color2 == null)
    	{
    		    g.drawRect((int)square_x2, (int)square_y2, (int)square_width2, (int)square_height2);
    	}
    	else
    	{
    		   g.setColor(square_color2);
    		   g.fillRect((int)square_x2, (int)square_y2, (int)square_width2, (int)square_height2);
    
    	}
    }
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		String input = " ";
    		double radius = 0,circumfrence,area1,area2,area3,diameter=0;
    		
    	
    				
    	input = JOptionPane.showInputDialog("Please enter the diameter of the circle");
    	diameter= Integer.parseInt( input );
    	
    		radius= diameter/2;
    		area1 =  Math.PI * (radius *radius);
    		area2 = diameter * diameter;
    		area3 = 2* (radius * radius);
    		circumfrence= Math.PI * diameter;
    		area1 =  Math.PI * (radius *radius);
    		;
    		
    		
    		JOptionPane.showMessageDialog(null, "the diameter of the circle:" + input );
    		JOptionPane.showMessageDialog(null, "the area of the circle:" + area1 );
    		JOptionPane.showMessageDialog(null, " the radius of the circle:" + radius );
    		JOptionPane.showMessageDialog(null, "the circumference of the circle:" + circumfrence);
    		JOptionPane.showMessageDialog(null, "area of the smallest square containing the circle:" + area2 );
    		JOptionPane.showMessageDialog(null, "area of the largest square contained the circle:" + area3 );
    		
    		// defining variable filledObjects as type of Geometry
    	     Hw2 filledObjects =   new Hw2();
    	      
    	      // set the coordinates and width and heights 
    	      // of the shapes
    	      filledObjects.square_x1 = 175;
    	      filledObjects.square_y1 = 175;
    	      filledObjects.square_width1 =diameter;
    	      filledObjects.square_height1 =diameter;
    	      filledObjects.square_color1 = Color.yellow;
    	      
    	      filledObjects.cir_width =diameter;
    	      filledObjects.cir_height = diameter;
    	      filledObjects.cir_x = 175;
    	      filledObjects.cir_y = 175;
    	      filledObjects.cir_color = Color.blue;
    	      
    	      filledObjects.square_x2 = 175+(radius*Math.sqrt(2))/2 ;
    	      filledObjects.square_y2 = 175+(radius*Math.sqrt(2))/2 ;
    	      filledObjects.square_width2 = radius*Math.sqrt(2);
    	      filledObjects.square_height2 =radius *Math.sqrt(2);
    	      filledObjects.square_color2 = Color.red;
    	      
    
    
    	     /* 
    	      Geometry emptyObjects =   new Geometry();
    	      emptyObjects.cir_width = 150;
    	      emptyObjects.cir_height = 150;
    	      emptyObjects.cir_x = 30;
    	      emptyObjects.cir_y = 30;
    	      emptyObjects.cir_color = null;
    	      
    	      emptyObjects.square_x1 = 30;
    	      emptyObjects.square_y1 = 30;
    	      emptyObjects.square_width1 = 100;
    	      emptyObjects.square_height1 = 100;
    	      emptyObjects.square_color1 = null;
    	      */
    	     
    	
    }
    }

  2. #2
    Norm's Avatar
    Norm is online now Moderator
    Join Date
    Jun 2008
    Location
    Eastern Florida
    Posts
    17,563
    Rep Power
    25

    Default Re: Help centering the square inside

    How have you analyzed the problem for the solution you have coded? It looks like you need to take a piece of graph paper and a pencil, draw the objects on the paper and then work out the x,y locations for where all the shapes should be drawn.
    If you don't understand my response, don't ignore it, ask a question.

  3. #3
    Messi5454 is offline Member
    Join Date
    Sep 2013
    Posts
    21
    Blog Entries
    1
    Rep Power
    0

    Default Re: Help centering the square inside

    i have honestly been on this computer since 2 trying to figure it out. Yes i have done that. i have even seeked help from one of my geometry teachers in high school. and he said all the fourmals were correct and had no idea why it wasnt working

  4. #4
    Norm's Avatar
    Norm is online now Moderator
    Join Date
    Jun 2008
    Location
    Eastern Florida
    Posts
    17,563
    Rep Power
    25

    Default Re: Help centering the square inside

    When you drew the shapes, what were the x,y values for each shape?
    What x,y values does the program use to draw the shapes?
    Are those two sets of values the same?
    If you don't understand my response, don't ignore it, ask a question.

  5. #5
    Messi5454 is offline Member
    Join Date
    Sep 2013
    Posts
    21
    Blog Entries
    1
    Rep Power
    0

    Default Re: Help centering the square inside

    the x and the y are set the same. except for the one that cant be the same and thats the square inside the circle

    Java Code:
    filledObjects.square_x1 = 175;
              filledObjects.square_y1 = 175;
              filledObjects.square_width1 =diameter;
              filledObjects.square_height1 =diameter;
              filledObjects.square_color1 = Color.yellow;
               
              filledObjects.cir_width =diameter;
              filledObjects.cir_height = diameter;
              filledObjects.cir_x = 175;
              filledObjects.cir_y = 175;
              filledObjects.cir_color = Color.blue;
               
              filledObjects.square_x2 = 175+(radius*Math.sqrt(2))/2 ;
              filledObjects.square_y2 = 175+(radius*Math.sqrt(2))/2 ;
              filledObjects.square_width2 = radius*Math.sqrt(2);
              filledObjects.square_height2 =radius *Math.sqrt(2);
              filledObjects.square_color2 = Color.red;

  6. #6
    Norm's Avatar
    Norm is online now Moderator
    Join Date
    Jun 2008
    Location
    Eastern Florida
    Posts
    17,563
    Rep Power
    25

    Default Re: Help centering the square inside

    What are the x,y values for the inner box you get from drawing the shape with paper and pencil?
    What are the x,y values does the program when it draws the inner box?

    Why do you think the formula the program uses will compute the correct values?

    In the drawing what is the relationship of the x,y values for the inner box to the x,y of the outer box and the sizes of the two boxes? Those are the values that should be used to compute the x,y for the inner box. Look at your drawing, to see the relationship.

    What would be the formula to compute the center of the outer box?
    Last edited by Norm; 09-14-2013 at 03:16 AM.
    If you don't understand my response, don't ignore it, ask a question.

  7. #7
    DarrylBurke's Avatar
    DarrylBurke is offline Forum Police
    Join Date
    Sep 2008
    Location
    Madgaon, Goa, India
    Posts
    11,423
    Rep Power
    20

    Default Re: Help centering the square inside

    If you're forever cleaning cobwebs, it's time to get rid of the spiders.

Similar Threads

  1. centering an applet
    By smithdennis4 in forum New To Java
    Replies: 1
    Last Post: 09-22-2011, 12:44 AM
  2. Flipping square box inside picture help
    By sman865 in forum New To Java
    Replies: 3
    Last Post: 10-16-2010, 08:10 PM
  3. component centering
    By BigBear in forum AWT / Swing
    Replies: 3
    Last Post: 01-24-2010, 11:48 PM
  4. centering a label inside a rectangle
    By Brain_Child in forum New To Java
    Replies: 3
    Last Post: 11-19-2009, 05:22 PM
  5. Centering inside a JFrame
    By kahaj in forum AWT / Swing
    Replies: 9
    Last Post: 09-23-2009, 07:23 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •