import java.awt.Container; import java.awt.Rectangle; import java.awt.event.Acti
ID: 3706604 • Letter: I
Question
import java.awt.Container;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.*;
public abstract class JPanelFayette extends JPanel implements ActionListener, MouseListener {
Timer Time;
int deltay, directiony, direstionY=4;;
int deltax, directionx, directionX=2;
int startX=2;
int StartY=4;
int i;
int delay=0;
JLabel 11 = new JLabel ("Score");
JLabel 12 = new JLabel ("Timer");
int clicked=0;
ImageIcon Erie = new ImageIcon("Erie.jpg");
ImageIcon UniversityPark = new ImageIcon("UniversityPark.jpg");
ImageIcon WorldCampus = new ImageIcon("WorldCampus.jpg");
JButton Er1 = new JButton (Erie);
JButton Up1 = new JButton (UniversityPark);
JButton Wc1 = new JButton (WorldCampus);
JButton ty = new JButton ("Thank you");
ImageIcon win =new ImageIcon("WinScreen.jpg");
ImageIcon lost =new ImageIcon("LoseScreen.jpg");
JButton w1= new JButton (win);
JButton l1= new JButton (lost);
Boolean loser, winner;
boolean mouseClicked, mouseEntered= false;
public JPanelFayette (int startX, int startY, int deltaX, int deltaY, int directionY, int delay){
super();
this.deltax= deltaX;
this.deltay=deltaY;
this.directionX=directionX;
this.directionY=directionY;
add(11);
add(12);
add(Er1);
add(Up1);
add(Wc1);
add(w1);
add(l1);
l1.setVisible(false);
w1.setVisible(false);
addMouseListener(this);
Er1.addActionListener(this);
w1.addActionListener(this);
l1.addActionaListener(this);
Up1.addActionListener(this);
Wc1.addActionListener(this);
Er1.setLocation(6,6);
Up1.setLocation (4,4);
Wc1.setLocation (1,1);
ty.setLocation (5,5);
Timer time = new Timer (delay, this);
public void actionPerformed(ActionEvent event){
Object obj =event.getSource();
Container student = getStudent();
winner();
loser ();
if (obj== Wc1){
Er1.setVisible(false);
Up1.setVisible(false);
Er1.setEnabled(false);
Up1.setEnabled(false);
remove(Er1);
remove(Up1);
setSize(300,300);
}
if (obj==Up1){
Er1.setVisible(false);
Wc1.setVisible(false);
Er1.setEnabled(false);
Wc1.setEnabled(false);
remove(Er1);
remove(Wc1);
setSize(300,300);
}
if (obj==Er1){
Up1.setVisible(false);
Wc1.setVisible(false);
Up1.setEnabled(false);
Wc1.setEnabled(false);
remove(Up1);
remove(Wc1);
setSize(300,300);
}
if(clicked<25||winner==false)
{
nextX = 0;
directionX*=-1;
}
if(nextX+getSize().width>student.getSize().width){
nextX=student.getSize().width-getSize().width;
directionX*=-1;
}
int nextY= getLocation().y+(deltay*directionY);
if(nextY<0){
nextY=0;
directionY*=-1;
}
if(nextY+getSize().height>student.getSize().height){
nectY=studen.getSize().height-getSize().height;
directionY*=-1;
}
setLocation(nextX.nextY);
if (obj==Er1||obj==Up1||obj==Wc1){
if(mouseClicked=true){
directionY++;
directionX++;
clicked++;
delay=(10-1);
String strI=String.valueOf(clicked);
l1.setText(strI);
delay--;
}
}
}
}
@Override
public void mouseClicked (MouseEvent e){
mouseClicked=true;
mouseEntered=true;
}
@Override
public void mouseEntered (MouseEvent e){
mouseClicked=false;
mouseEntered=true;
}
@Override
public void mouseExited (MouseEvent e)
{
mouseClicked=false;
mouseEntered=false;
}
@override
Public void mousePressed(MOuseEvent e)
{
mouseClicked=true;
mouseEntered=true;
}
@override
public void mouseReleased(MouseEvent e)
{
mouseClicked=false;
mouseEntered=true;
w1.setVisible(true);
l1.setVisible(false);
l2.setvisible(false);
Er1.setVisible(false);
Up1.setVisible(false);
Wc1.setVisible(false);
setBounds(new Rectangle(0,0,800,630));
winner=true;
loser=false;
}
public boolean loser()
{
if (clicked <30){
if((i)>=2000){
l1.setVisible(true);
w1.setVisible(false);
Er1.setVisible(false);
Up1.setVisible(false);
Wc1.setVisible(false);
l1.setVisible(false);
l2.setVisible(false);
Wc1.setEnabled(false);
Up1.setEnabled(false);
Er1.setEnabled(false);
remove(Er1);
remove(Up1);
remove(Wc1);
setBounds(new Rectangle(0,0,800,630));
loser=true;
winner=false;
clicked=0;
}
trying to create PSU Shooting arcade game need help please thank you
Explanation / Answer
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Component;
import java.awt.TextComponent;
import java.awt.Frame;
import java.awt.Button;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.GridBagConstraints;
import java.awt.Image;
import java.awt.Window;
import java.awt.image.BufferedImage;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.net.URL;
import java.io.InputStream;
import java.lang.reflect.Method;
import javax.swing.ImageIcon;
import iiuf.util.Util;
import iiuf.util.AsyncInvocation;
import iiuf.util.AsyncAccelerator;
import iiuf.log.Log;
/**
Awt utilities.
(c) 1999, 2000, 2001, IIUF, DIUF<p>
@author $Author: ohitz $
@version $Revision: 1.1 $
*/
public class Awt {
public static Cursor STOP_CURSOR = makeCursor("stop", new Point(8, 8));
private static Component emptyCmp = newComponent();
private static final double PI2 = Math.PI * 2;
public static double getAngle(int ox, int oy, int x, int y) {
double dx = x - ox;
double dy = y - oy;
double r = Math.sqrt(dx * dx + dy * dy);
double result = dy < 0 ? Math.PI + Math.asin(dx / r) : -Math.asin(dx / r);
result %= PI2;
return result < 0 ? PI2 + result : result;
}
public static Point place(Rectangle rectToPlace, int x, int y, Rectangle outerLimit) {
rectToPlace.setLocation(x - rectToPlace.width / 2, y - rectToPlace.height / 2);
return fitSmallerIntoBigger(rectToPlace.x, rectToPlace.y, rectToPlace.width, rectToPlace.height, outerLimit);
}
public static Point centerOnScreen(Dimension dim) {
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension sd = tk.getScreenSize();
return new Point((sd.width - dim.width) / 2, (sd.height - dim.height) / 2);
}
public static Point fitSmallerIntoBigger(int x, int y, int width, int height, Rectangle bigger) {
return new Point(x < bigger.x ?
bigger.x :
x + width > bigger.x + bigger.width ? bigger.x + bigger.width -
width : x,
y < bigger.y ?
bigger.y :
y + height > bigger.y + bigger.height ? bigger.y + bigger.height -
height : y);
}
public final static boolean near(int x, int y, int x0, int y0, int x1, int y1, int tolerance) {
int t2 = tolerance * tolerance;
int x1_x0 = x1 - x0;
int y1_y0 = y1 - y0;
int x_x0 = x - x0;
int y_y0 = y - y0;
int denom = x1_x0 * x1_x0 + y1_y0 * y1_y0;
if(denom == 0)
return x_x0 * x_x0 + y_y0 * y_y0 <= t2;
else {
int nom = x_x0 * x1_x0 + y_y0 * y1_y0;
if(nom < 0 || nom > denom)
return false;
else {
double u = (double)nom / (double)denom;
double dx = x - (x0 + u * x1_x0);
double dy = y - (y0 + u * y1_y0);
return dx * dx + dy * dy <= t2;
}
}
}
private static Cursor makeCursor(String name, Point hotSpot) {
return makeCursor(Awt.class.getResource("rsrc/" + name + "_crsr.gif"), hotSpot, name);
}
public static Cursor makeCursor(URL cursorImage, Point hotSpot, String name) {
Toolkit tk = Toolkit.getDefaultToolkit();
int ccolors = tk.getMaximumCursorColors();
ImageIcon ic = null;
// try to get optimized version
try {
String url = cursorImage.toExternalForm();
int idx = url.lastIndexOf('.');
int bpp = -1;
for(bpp = 31; bpp >= 0; bpp--)
if((ccolors & (1 << bpp)) != 0)
break;
if(idx == -1)
url += bpp + "bpp";
else
url = url.substring(0, idx) + bpp + "bpp" + url.substring(idx);
URL curl = new URL(url);
InputStream in = curl.openStream();
in.close();
ic = new ImageIcon(new URL(url));
} catch(Exception e) {
ic = new ImageIcon(cursorImage);
}
Image crsr = ic.getImage();
Dimension d = tk.getBestCursorSize(ic.getIconWidth(), ic.getIconHeight());
if(d.width != ic.getIconWidth() || d.height != ic.getIconHeight()) {
Image tmp = crsr;
crsr = new BufferedImage(d.width, d.height, BufferedImage.TYPE_4BYTE_ABGR);
ic.paintIcon(emptyCmp, crsr.getGraphics(), 0, 0);
}
return tk.createCustomCursor(crsr, hotSpot, name);
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.