Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Programming Language Expert

Objectives: Create an applet, Use methods from the Graphics class , Use the Color class

General Instructions:
The java class that need to be imported into this assignment is below and it is called TrainApplet. Your jobs is to complete this class with the requirements below.
Create a new Eclipse project for this assignment and import the TrainApplet.java and train.html files into that project. Specification: Create an applet that has a train engine which moves across the window.
Complete the TrainApplet.java class by doing the following
Draw a train engine relative to a specific position so that the position of the train changes every time repaint is called. (The init method in the skeleton code that was provided sets up the animation for you. All you have to do is make sure the position changes each time the paint method is called.) Use several different methods from the Graphics class to draw the train. This means different shapes (rectangles, ovals, lines) as well as both fill and draw methods.
The position of the train should change by a small amount each time the paint method is called. When the train goes off one edge of the window, it should come back on the other edge.
Display some text in the applet window - a title, a quotation or whatever seems appropriate.
Add whatever else you want to the applet to make the picture interesting. The background should not be just the default color.
Use at least three colors in your applet. At least one of them should be a custom color. There are a number of sites on the web where you can find color samples with their RGB values.
Extra Credit (max +20)
Animate the wheels of your train engine.
Make your applet adjust appropriately when the window gets resized. For example, centered text should remain centered, the train should travel the entire width of the window, background graphics should adjust as needed.
Make the train follow a more complicated path.
Smooth out the wrapping - the train should not abruptly disappear when it reaches one side of the frame or abruptly reappear on the other side.
Documentation:

You should include javadoc comments describing the class in your code. Be sure to use the @author tag in the class comment.

You should include a plain text file called README (with no extension) that describes the overall design of your program and how to use it. See README.overview and README.example to get an idea of what is expected from your Project README files. Please also include your observations about the assignment and your experience with it.
Testing

After you upload your applet to onyx, run the applet using

appletviewer train.html

to make sure that it will run properly for the grader. Programs that will not compile or run receive an automatic zero score, so do not fail to test your program on onyx before submitting.
TrainApplet file:
/*
* TrainApplet.java
*
* COMPSCI125 Project 1: Train Applet
*/

importjava.awt.Color;
importjava.awt.Graphics;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JApplet;
importjavax.swing.Timer;

/**
Animates a ____
@author your name
*/
public class TrainApplet extends JApplet {
//constant to regulate the frequency of Timer events
private final int DELAY = 500; //milliseconds
//variables for drawing / animating
privateint x, y;
privateint width, height;
privateintsquareSide;
privateintstepSize = 10;

/* This method draws on the applet''s Graphics context
*
* (non-Javadoc)
* @see java.awt.Container#paint(java.awt.Graphics)
*/
public void paint(Graphics canvas)
{
//let the JAppletdo its painting, first
super.paint(canvas);

int width = getWidth(); // applet width
int height = getHeight(); // applet height

//Fill the canvas with the background color
canvas.setColor(getBackground());
canvas.fillRect(0, 0, width, height);

//Calculate the new position
x = (x + stepSize) % width;

//Draw new square
canvas.setColor(Color.green);
canvas.fillRect(x, y, squareSide, squareSide);
}

/* Initialize necessary variables
* This method also sets up a Timer that will call
* paint() with frequency specified by the DELAY
* constant.
*
* (non-Javadoc)
* @see java.applet.Applet#init()
*/
public void init()
{
//Set square dimensions
squareSide = 50;
//Set the starting coordinates
x = 0;
y = getHeight()/2 - squareSide/2;

//DO NOT EDIT THE ActionListener / Timer CODE.
ActionListenertaskPerformer = new ActionListener() {
public void actionPerformed(ActionEventevt) {
repaint();
}
};
new Timer(DELAY, taskPerformer).start();
}
}

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M9502664

Have any Question?


Related Questions in Programming Language

Overviewthis tasks provides you an opportunity to get

Overview This tasks provides you an opportunity to get feedback on your Learning Summary Report. The Learning Summary Report outlines how the work you have completed demonstrates that you have met all of the unit's learn ...

Assignment task -q1 a the fibonacci numbers are the numbers

Assignment Task - Q1. (a) The Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and are characterised by the fact that every number after the first two is the sum of the ...

Assignmentquestion onegiving the following code snippet

Assignment Question One Giving the following code snippet. What kind of errors you will get and how can you correct it. A. public class HelloJava { public static void main(String args[]) { int x=10; int y=2; System.out.p ...

1 write a function named check that has three parameters

1. Write a function named check () that has three parameters. The first parameter should accept an integer number, andthe second and third parameters should accept a double-precision number. The function body should just ...

Assignment - proposal literature review research method1

Assignment - Proposal, Literature Review, Research Method 1. Abstract - Summary of the knowledge gap: problems of the existing research - Aim of the research, summary of what this project is to achieve - Summary of the a ...

Php amp session managment assignment -this assignment looks

PHP & SESSION MANAGMENT ASSIGNMENT - This assignment looks at using PHP for creating cookies and session management. Class Exercise - Web Project: Member Registration/Login This exercise will cover adding data connectivi ...

Assignment - haskell program for regular expression

Assignment - Haskell Program for Regular Expression Matching Your assignment is to modify the slowgrep.hs Haskell program presented in class and the online notes, according to the instructions below. You may carry out th ...

Extend the adworks applicationi add dialogs to allow the

Extend the AdWorks application I. Add Dialogs to allow the user to Add, Edit, Read and Delete a Customer and refresh the view accordingly. 1. The user should be able to select a specific customer from the DataGrid and cl ...

Question 1 what is a computer program what is structured

Question: 1. What is a Computer program? What is structured programming? 2. What is modular programming? Why we use it? 3. Please evaluate Sin (x) by infinite series. Then write an algorithm to implement it with up to th ...

Task arrays and structsoverviewin this task you will

Task: Arrays and Structs Overview In this task you will continue to work on the knight database to help Camelot keep track of all of their knights. We can now add a kingdom struct to help work with and manage all of the ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As