I got an idea to create this page after reading JAVA mailing list and visiting Java Ranch(formerly on Electric Porkchop). Here you can find different JAVA programs examples, that were created as answers to programming questions. So this can be called a sort of FAQ. Please, feel free to mail me with any JAVA/jdk related questions, I will try to help. But it is better to access mail list at YORKU. For this, send a mail to LISTSERV@YORKU.CA with line "SUB JAVA" in the message body. When providing references to the content on this page, please reference the page itself, and not the individual files or packages.
Italized names mean that this class has static main(String argv)
method in it.
Bold names mean that this is an interface.
I've had to do some evalaution on Java thread local variables, and alternative ways to store thread local variables, so here the article I put together on thread locals
GetOpt for Java
That's just something I wrote.
|getopt.zip||This is the class with getopt(3C) implementation in Java. The package contains class itself, class has a selftest, and you can check out the html documentation|
Mouse to Keys event.
Q. How to create events manually in JAVA ? For example, if I received left mouse click, I want to generate left key press.
A. You can construct any new event and then send it through Component.processXxxEvent();
|Event.java||This class shows how to generate left key press on mouse click event|
Q. I tried interrupt the thread but no exception was thrown.
A. The most common mistake in thread programming is that one mess with current thread.
|Timer.java||Class for Thread, that sleeps for a long time and catches InterruptedException|
|TimeControl.java||The main program, creates new thread and interrupt it.|
Q. How to make PopupMenu appear somewhere inside panel when user clicks the button on this panel ?
|PopBut.java||This class creates Frame with Button, left click brings the PopUp menu.|
Threads and synchronization.
Q. how to use notify() and wait() to have one thread notify the other thread that it is done
|ThreadExample.java||This class has two threads that can't be run simultaneously|
Networking client/server base
Q. I need some examples of client/server programming in JAVA for ....
A. I wrote two applications, that implement the simplest client/server programming. The AWT part is somehow weak, but this is working stuff.
|ClientProto.java||This application can connect to any host:port and chat to it(sort of telnet)|
|ServerProto.java||This application can bind a local port and open a window on each connect|
DATA crypting(UNIX crypt implementation)
That's just a stuff I wrote.
|crypt.zip||This is class with crypt() (UFC) implementation. The package contains class itself, test program and html documentationUpdated on 4/20/05, tested for JDK 1.4.x|
A program that converts integer to roman numbers
Q. How to write a program that converts integers to roman numerals
A. Here is an example
|Int2Rom.java||This is a class that gets Integer as argument and returns Roman number on output. There is a lot of debug informattion added, comment every System.err to remove it.|
Generic executing scheduler
That's just a stuff I wrote.
|AtJob.java||This is an interface each class that wants to be ran have to implement. The interface promotes public void eventAt(void) method, that would be executed.|
|AtJobInfo.java||This is an internal class that each At job is wrapped with.|
|AtRunner.java||That the engine. To instantiate a new At engine, create an instance of this class. To execute a job in xxx milliseconds, schedule it using registerJob(job, xxx) method. job must implement AtJob interface.|
Generic event system
Well, sometimes people need to have their own event system. Using AWT or, for example, beans events isn't actually a good idea, since these event systems are really designed for what they were intended.
|API||JavaDoc documentation, extracted from the sources.|
|evs.zip||Archive with source files. They contain the javadoc comments. The code is not commented out too much, but quite informative by itself.|
(C) Pawel S. Veselov, 1999-2001, 2005