Ecologylab Libraries
To use the SVN access (which provides the absolute latest version of all the code), you will need to install the Subclipse plugin. You will then use the following URLs with username and password anonymous; you should "Checkout..." the trunk for each project from Eclipse:
- ecologylabFundamental: https://svn.ecologylab.net/ecologylabFundamental/
- ecologylabAudio: https://svn.ecologylab.net/ecologylabAudio/
- ecologylabLocationAware: https://svn.ecologylab.net/ecologylabLocationAware/ (to use ecologylabLocationAware, you will need to install the RXTX libraries for serial communication from http://users.frii.com/jarvi/rxtx/, then configure the ecologylabLocationAware project to include the RXTXcomm.jar file)
Development Tools
Java 2 Platform Standard Edition 6.x Development Kit.
Download the J2SE Software Development Kit (JDK 6 Update 16 with nothing else), to enable Java development on your machine.Eclipse
The Eclipse IDE is an excellent open source software environment for Java development. It supports syntax-driven features such as refactoring, reference and declaration finding, method name auto-completion, and inline javadoc referencing. Get the version for Java developers.Java SDK, Standard Edition Documentation
Includes links to all relevant documents for development tools, api, core technologies, and platform architecture.Java Language
Gosling, J., Joy, B., Steele, G., Bracha, G.
Java language Specification, 3rd Edition
One of the most readable language specifications ever written.
A must read for the serious Java programmer.
Bruce Eckel, Thinking in Java, 4th edition
The Java tutorial
An illustrated series of how-to-code examples and explanations.Learning the Java Language
A subsection of The Java Tutorial which focuses on core language concepts; object oriented programming concepts, language syntax, control flow, object lifecycle, and basic data types are covered in detail with plenty of examples.How to Write Doc Comments for the Javadoc Tool
JavaDoc comments are comments intended to be extracted from source code, to provide API documentation. The javadoc tool does this. For example, the Java API documentation (see below) is generated in this way. You also need to use JavaDoc to document your own programs. This document discusses aesthetic and functional approaches to writing JavaDoc comments. It also describes all the special syntax involved.Java API
Java API Documentation
Java programmers keep this on tap for details about classes and methods. Eclipse uses this to provide documentation in the context of your code development.Essential Java Classes
Coveres core Java class libraries including I/O operations, threads and error handling.Swing
Amy Fowler Swing Architecture Overview
A must read article that explains how Swing works, it covers Swing design goals, separable model architecture, and pluggable look and feel.The Java Swing Tutorial
The best place to start learning about Graphical User Interface Programming with Java. It provides lots of great information illustrated with easy to follow examples and nice pictures.Visual Guide to Swing Components
Pictures of all the swing components in action, each picture links to documentation and examples dealing with that component.Visual Guide to Layout Managers
This is similar to the visual guide to swing components, but instead shows examples of how the various layout managers work.Tutorial: Writing Event Handlers
Covers, in great detail, how to write event listeners and provides information on all the events various components can generate.Audio
Java Sound Programmers' Guide
Java Sound Resources: Examples: Audio Playback and Recording
MP3 SPI Documentation: how to play MP3s using JavaSound and the JavaZoom MP3 SPI; also, how and what data can be manually extracted (much of this is already handled by the provided library code)
MP3 SPI for Java Sound: allows JavaSound to playback MP3s; these libraries are included in the other course libraries (ecologylabAudio)
Applet Signing
To generate a "test certificate," use the command:
keytool -genkey -alias "my_name" -keypass "my_password"
To sign your jar, use the command:
jarsigner my_project.jar my_name