Greg Travis

11 articles

Writing a Seamless Looper in Java, Part 2: Seamless Looping

Introduction Last week, we took a look at the javax.sound.sampled package and learned how to loop a snippet of audio. In Part Two, we're going to...

Writing a Seamless Looper in Java, Part 1: Playing Audio

Introduction Audio programming can be tricky, but Java can make it a lot easier. In this article, we'll be discussing the construction of a...

The Persistent Hashtable: A Quick-and-Dirty Database

I think the thing I hate most in programming is writing the same piece of code twice. Even writing something similar to something...

Creating a Custom Java Console

Introduction Call me old fashioned, but I still debug using print statements. Despite the rise of the integrated development environment (IDE),...

Asynchronous Event Handling: Get Rid of Nasty Applet Pauses

A responsive user interface is one of the most important considerations in making an application intuitive and friendly. This article describes a common pitfall...

Double-Buffer Applet

Introduction If you've ever written an applet that does a lot of graphics, you might have noticed a flickering whenever...

Applet Terminals: Applets with Multiple Locations on a Page

When I saw my first applet back in July 1995, I thought, "Cool! A tiny, self-contained window running a program written in a real...

MultiApplet: Running Multiple Applets Inside an Applet Window

What, exactly, is an applet? A very rough definition might be "a Java program that runs inside a browser". However, there are definite differences...

Simulating select() in Java

Java is a good language for writing servers, because it has elegant libraries for both networking and multithreading. But how does one...

Working with the blocking queue

Java's threading implementation is one of the most elegant out there. The quality of its design has introduced countless programmers -- some...

Make sure to follow Developer.com on Social Media