help with mouse events

Posts 1–2 of 2 · Page 1 of 1
help with mouse events
So im trying to make a mouse event for a moving shape that is randomly generated and have it open another window up and keep score of it. I'm just trying to get the basic layout of it ready before i start making it fancy. I've searches and have come up with no cigar and im stumped could someone help me?

Code:
package gameapplication;

import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.*;
import java.awt.event.ActionListener;
import java.util.Random;
import java.awt.*;
import java.awt.Event.*;


import javax.swing.Timer;




@SuppressWarnings("serial")
public class gameapp1 extends JPanel implements MouseListener, ActionListener{
	
	Random generator = new Random();
	int newNumber= generator.nextInt(8);
	int newNumber1= generator.nextInt(100);
	int newNumber2= generator.nextInt(100);
	int newNumber3= generator.nextInt(100);
	int newNumber4= generator.nextInt(500);
	int n2= generator.nextInt(100);
	int n3= generator.nextInt(100);
	int n4= generator.nextInt(100);
	int n1= generator.nextInt(500);
	 
	
	
	
	Timer tm = new Timer(5,this);
	int x =newNumber4, velX=newNumber, s1 = newNumber1, s2 = newNumber2 , e1 = newNumber3, x1 = n1;
    int together = x&velX&s1&s2&e1&x1;
    public void paintComponent(Graphics g){
    super.paintComponent(g);   
    boolean done;
    g.setColor(Color.RED);
    g.fillRect(e1, x, s1, s2);
    g.setColor(Color.RED);
    g.fillRect(n2, x, n3, n4);
    

    
    tm.start();
    
    }
    
    
    public void actionPerformed(ActionEvent e){
    	 if (x < 0 || x > 500)
    	    	velX = -velX;
    	    x = x + velX;
    	  
   
  
    
    repaint();
    }
    
    public int getX() {
		return 0;
	}
	public int getY() {
		return 0;
	}
    public void mousePressed(MouseEvent e) {  
    	
    }
    public void mouseReleased(MouseEvent e) {}
    public void mouseClicked(MouseEvent e) { 
    	int letsdoit1 = getX();
    	int letsdoit2 = getY();
    	if (MouseEvent.MOUSE_CLICKED == together){
    		JFrame hello = new JFrame();
    		hello.setSize(300,200);
    		hello.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		hello.setVisible(true);
    		hello.setResizable(true);
    		
    		
    	}
    }
    
    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}

public static void main(String[] args) {
	gameapp1 gm = new gameapp1();
	JPanel pane = new JPanel();
	JFrame jf = new JFrame();
	jf.setSize(800,600);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setResizable(true);        
    jf.setVisible(true);
    
    jf.add(pane);
    jf.add(gm);
    
   
   
    	
    	
    }
   
    
}
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

/**
 * User: Nathaniel
 * Date: 9-5-12
 * Time: 23:08
 */
public class GameApp extends JPanel {
    private int x, y, w = 50, h = 50;
    private boolean downX = false, downY = false;

    public static void main(String[] args) {
        new GameApp();
    }

    public GameApp() {
        setSize(500, 500);
        JFrame frame = new JFrame("Game");
        frame.add(this);
        frame.addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent e) {
                if (new Rectangle(x, y, w, h).contains(e.getPoint())) {
                    JOptionPane.showMessageDialog(null, "You've clicked in the rectangle!");
                }
            }
        });
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setSize(510, 525);
        new Thread(new Runnable() {
            public void run() {
                while (true) {
                    try {
                        if (x + w > getWidth()) {
                            downX = true;
                        } else if (x < 0) {
                            downX = false;
                        }
                        if (y + h > getHeight()) {
                            downY = true;
                        } else if (y < 0) {
                            downY = false;
                        }
                        if (downX) {
                            x--;
                        } else {
                            x++;
                        }
                        if (downY) {
                            y--;
                        } else {
                            y++;
                        }
                        Thread.sleep(10);
                        repaint();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();
    }

    public void paintComponent(Graphics graphics) {
        graphics.clearRect(0, 0, getWidth() + 1, getHeight() + 1);
        super.paintComponents(graphics);
        graphics.setColor(Color.RED);
        graphics.fillRect(x, y, w, h);
    }
}
Like that?
Posts 1–2 of 2 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us