Tutorials : Java by Example :
Johannes Wallroth is a web designer and self taught programmer, learning both programming and English from books. His site, www.programming.de, has grown in popularity since it's inception in 1999. Johannes works with www.medical-internet.com and has lived in Berlin since 1988

Java By Example

Johannes Wallroth

In this tutorial I will try to give you a series of fairly simple examples in order to enable you to get a grasp of the possibilities and the syntax of the Java language. We are going to use version 1.0 of the language, because I think it is much easier to learn than the later versions, especially without prior knowledge of C++, and you can easily switch to newer versions, once you have learned the basics. I'm going to show only those parts that are most common for games and graphical applets, not the controls, like buttons, checkboxes, and so on.

To explore the possibilities further, I strongly recommend using the API documentation that I have packed together with the Java Development Kit.

This tutorial requires at least a little knowledge of some programming language, so you understand the basic concepts of programming, like varibles, control structures and so on. If you are an absolute beginner, you will probably have to look for additional tutorials on the web or in books, though I will try to cover most of the basics as well.

Please read also the comments inside the sourcecodes (lines beginning with // are comments!). Don't get confused if you don't know what some lines of code mean, just try to follow the examples and make changes to them, to get a feeling of what they are doing. In due time, everything will come naturally to you. Most of my example applets are 300 x 300 pixels in size, but you can easily change this, by editing the code inside the HTML-file of the project. Just look for the line "APPLET CODE=XYZ.class WIDTH=300 HEIGHT=300" and change the width and height parameters. You will have to change the drawing code also, to fill the whole applet.

If you want to recompile any of my applets, please make sure your main class (only class in the simple applets) has the same name as the one you have entered in the project settings! If you get an error message pointing to the class name, you must change the name of the class to the one you have entered in the project settings.

Click here to download all the Java source files of the following examples.

Table of Contents

Section One: Java Basics
Basic Graphics Functions
Simple Methods and Basic Data Types
If, Else and Switch: Basic Control Structures

Section Two: Operators and Methods
Introducing the Operators
Methods With and Without A Return Value
Using Methods and Basic Mouse Functions

Section Three: Fonts and Graphics
Fonts, Random Numbers and Timers
Flicker Free Graphics, .GIF and .JPEG Display
Animation With Gif Pictures, Sprite Animation

Section Four: Functions and Arrays
Loops, Advanced Color Functions
Random Colors and Arrays
Digital Clocks, HTML Page Parameters

Section Five: Objects and Classes
Introducing Classes and Objects
Using the Vector Class

Section Six: Input Devices
Using Mousemove and Mousedrag
Keyboard Commands and Playing Sound
Detecting Collisions and Intersections
A Bouncing Balls Applet

Section Seven: Letters - Words - Lines - Shuffle
Fun With Letters and Words
Rotating Lines and Polygons
Sorting and Shuffling

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.