Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 6 of 6

Thread: Assign variable to coordinate pair for GUI

Threaded View

  1. #1
    Junior Member
    Join Date
    Nov 2013
    Posts
    9
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Assign variable to coordinate pair for GUI

    I have a GUI grid of squares that I prompt the user for the size of (2^n). Then I ask for the coordinates to put a white square or 'hole' in the grid. I am having trouble putting the user inputted 'hole' into my grid and coloring it white.

    My program prompts the user for a power of 2 grid, and displays it. But I've been trying for a couple hours to try and put the 'hole' into my grid and can't seem to get it.
    How how do I take these coordinates and place the specified coordinates as a white square?

    Here is my code:
    import java.util.*;
    import java.awt.*;
    import javax.swing.*;
    class trominoWarZ{
            private int currentNum;
            private int[][] grid;
        public static void main(String[] args) {
     
            Scanner input = new Scanner(System.in);
     
            System.out.println("What size board do you want?");
            double pw = input.nextDouble();
     
            System.out.println("Coordinates of missing square?");
            int x = input.nextInt();
            int y = input.nextInt(); 
     
            myHole hole = new myHole(x,y);     //WANT TO SET x,y coord to WHITE 
     
            super.drawHole(g,x,y);      
     
            myPan panel = new myPan(pw);      //this is how it reads size of board
     
            JFrame application = new JFrame();
            application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            application.add(panel);           
            application.setSize(400, 400);
            application.setVisible(true); 
        }
    }
     
    class myPan extends JPanel{
     
        public double pow;
        public double hc;
     
        public static void drawHole(Graphics g, int x, int y) {    
        g.setColor(Color.WHITE);
        g.fillRect(g,x,y);
     
        }
        public myPan(double p){
            pow = p;
        }
     
        public myHole(int h){
            hc = h;                     //I will have the var hc to use for the hole
            drawHole(hc);
        }    
        public void paintComponent(Graphics g){
     
            super.paintComponent(g);   
            double num = Math.pow(2,pow);
            double across;
            double up;
            if(hc % 2 == 0){ //is a square
                across = Math.hc(num,0.5);
                up = across;
            }
            else{
                double x = Math.floor(hc/2);
                double y = x + 1;
                across = Math.hc(2,x);
                up = Math.hc(2,y);
            }
     
            if(pow % 2 == 0){ //is a square
                across = Math.pow(num,0.5);
                up = across;
            }
            else{
                double x = Math.floor(pow/2);
                double y = x + 1;
                across = Math.pow(2,x);
                up = Math.pow(2,y);
            }
            double wid = 400/across; //width of one
            double hi = 400/up; //height of one
            double nowX = 0;
            double nowY = 0;
            for(int i = 0; i < up; i++){ //top to bottom
                nowX = 0;
                for(int j = 0; j < across; j++){
                    //System.out.print("*");
                    g.setColor(Color.BLACK);
                    g.drawRect((int)nowX, (int)nowY, (int)wid, (int)hi);
                    nowX = nowX + wid;
                }
                nowY = nowY + hi;
                //System.out.print("\n");
            }
     
            //grid or whatever = g.fill
        }
        }
     
     
     
    //     public static void tromino(int size, int x, int y) {
    //             int actualsize = 1;
    //             while (actualsize < size) actualsize*=2;
    // }
    Last edited by jcfor3ver; November 10th, 2013 at 04:26 AM. Reason: posting code properly for forum?


Similar Threads

  1. how to pair bluetooth devices....
    By kumar.dinesh7 in forum Java SE APIs
    Replies: 0
    Last Post: March 11th, 2013, 02:39 AM
  2. How to find Object in coordinate system
    By Eldarmk2 in forum Java Theory & Questions
    Replies: 5
    Last Post: July 9th, 2012, 11:09 PM
  3. Clicking a coordinate on my GUI (Not Local Mouse Or Normal Robot.movemouse!)
    By testingjava in forum What's Wrong With My Code?
    Replies: 8
    Last Post: June 30th, 2012, 06:28 AM
  4. [SOLVED] Assign a loop to variable to compare strings
    By norske_lab in forum Loops & Control Statements
    Replies: 3
    Last Post: March 6th, 2012, 02:46 PM
  5. Another pair of eyes.
    By Ripcurl in forum What's Wrong With My Code?
    Replies: 3
    Last Post: October 28th, 2010, 10:49 AM

Tags for this Thread