The Source for Java Technology Collaboration
User: Password:



View Archives: Homepage | Projects & Communities | Also Today | Spotlights | Success Stories | Articles | Weblogs

View articles by: Most Recent | Topics | Columns | Authors | Top Articles

All java.net Articles by Topic

• Accessibility • Community • Databases • Education 
• EJB • Extreme Programming • GUI • JavaOne 
• JSP • JSR • Linux • Mobility 
• Programming • Research • Search • Security 
• Servlets • Struts • Swing • Testing 
• Web Design • Web Development Tools • Web Services and XML 


Accessibility

Vocal Java
Disabled users depend on assistive technologies to help them work with computers, and this technology is built into Swing. In this article, Jeff Friesen shows how to use a free implementation of the Java Speech API to create a program that reads the text of Swing and AWT components as a user mouses over them.
by Jeff Friesen
[April 13, 2006 | Discuss (15)]


Community

A Discussion of the BlueJ IDE with Two of Its Developers: Michael Kölling and Ian Utting
BlueJ is a simplified Java IDE, built upon NetBeans technology with the expressed purpose of introducing new CS students to object-oriented programming at the high school and introductory university levels. In this interview, Gary Thompson talks with two of BlueJ's developers, Michael Kölling and Ian Utting.
by Gary Thompson
[June 26, 2008 | Discuss (2)]

Students and the Mural Community
The Mural project is building a community to provide open source solutions to data management problems. It's also allowing college students to contribute to the project as part of their coursework. In this interview, java.net community manager Marla Parker speaks with Sun's Sandeep Konchady about the opportunity Mural offers.
by Marla Parker
[May 01, 2008 | Discuss (1)]

The Open Road: Building the JDK
Ready to work with the GPLed JDK from the OpenJDK project? Your first order of business will probably be getting the code compiled and running on your machine. And that's not an easy process. In this installment of The Open Road, Elliotte Rusty Harold relates the step-by-step process of building the JDK on Linux.
by Elliotte Rusty Harold
[November 29, 2007 | Discuss (8)]

Chatting About Curriki
Curriki.org is building an Open Source Curriculum (OSC) of free educational materials for grades K-12. In this interview, java.net program manager Gary Thompson interviews Curriki executive director Dr. Barbara "Bobbi" Kurshan and chief technology officer Joshua Marks.
by Gary Thompson
[November 20, 2007 | Discuss (0)]

The Open Road: Looking Ahead to Java 7
Kicking off a new column about the development of Java 7, David Flanagan takes a look at the OpenJDK and JDK7 projects and their processes, language changes that have been mentioned as possible candidates for Java 7, and major new APIs that are tracking for inclusion in the new version.
by David Flanagan
[August 09, 2007 | Discuss (42)]

Top 50: Interview with Kohsuke Kawaguchi of the Hudson Project
In this installment of our series of interviews with developers from some of java.net's most active and prominent projects, Marla Parker interviews Kohsuke Kawaguchi about the Hudson project, a continuous integration server used by large companies and open source projects.
by Marla Parker
[June 14, 2007 | Discuss (0)]

Top 50: Interview with Joe Walker of the Direct Web Remoting Project
In the second of our series of interviews with developers from some of java.net's most active and prominent projects, Marla Parker interviews Joe Walker about the Direct Web Remoting project, which provides an infrastructure for developing Java-based Ajax web applications
by Marla Parker
[June 05, 2007 | Discuss (2)]

j1-2k7-mtT14: Keaton: Calling QTKit from Java
Want to play audio, video, or multimedia in a Java application? QuickTime for Java opened the door to Apple's extensive QuickTime library, but times are changing and QTJ seems headed for deprecation. In fact, Apple is pushing Mac developers away from the old procedural-C QuickTime API altogether. In its place is a new object-oriented, Cocoa-aligned framework called QTKit. Great for Objective-C programmers, but what about the Java crowd? The Keaton project, something of a successor to Lloyd, will create a one-to-one mapping of Java objects to Obj-C objects, so you can work with QTMovies and QTMovieViews directly in Java code. Come see this talk to see how it works and how you can use it in your Mac Java application.
by Chris Adamson
[May 31, 2007 | Discuss (2)]

j1-2k7-mtT12: Open Software Factory

The project Open Software Factory (aka openmodelerp) is an ongoing process to develop a set of tools and a corresponding set of methods for effective Model-Driven Software Development (MDSD).

Abstraction is fundamental to software development. Abstractions are provided by models. Modeling and model transformation constitute the core of MDSD. Models can be refined and finally be transformed into a technical implementation, i.e., a software system.

This talk will begin with a quick overview of basic MDSD concepts. The remainder of the talk will discuss how the Open Software Factory supports MDSD. We will summarize our current achievements and briefly outline our plans for the future. The talk will share our project's experience in both developing Open Software Factory and applying it to develop to simple 2 Demonstration applications. The following issues will be briefly mentioned in the talk.

  • The apparent productivity gains of using OSF and the MDSD paradigm in general.
  • The benefits of using OSF to make models more abstract, independent of their implementation.
  • The efficient re-targeting of an application model to a new platform.
  • The automation of repetitive parts of software development that are inherent when using current infrastructures (J2EE, Struts, Spring, Hibernate, JSF, etc ...).
  • Combining the use of OSF with best practices of Agile Software Development and the resulting synergy.
  • Implications for other development tools such as NetBeans to support MDSD.
  • Current challenges for the Java Open Source community to have a complete toolchain to support MDSD, not tied to any specific vendor.

by Roy Feldman
[May 30, 2007 | Discuss (1)]

j1-2k7-mtT03: Web continuations with RIFE and Terracotta
State management has always been a complex and tricky part of web application development. Continuations simplify this and automatically allow you to create a one-to-one conversation between users and a web application. State preservation and flow control no longer need to be handled manually, bringing you back to the simplicity of single user console applications. Remember 'scanf()'? This presentation will introduce continuations from general principles, followed by practical examples that explain how they benefit web application development and their frequent usage patterns. Finally, automatic fail-over and scalability will be demonstrated through the integration with Open Terracotta.
by Geert Bevin
[May 25, 2007 | Discuss (3)]

j1-2k7-mtW07: Closures Q and A
In a followup to his JavaOne 2007 technical session, Neal Gafter offers a 15-minute question-and answer session on a proposal to add closures to the Java programming language. He makes the case for Closures making Java programs easier to read, and handles questions about closure expression serializability, continuations, patterns and boilerplate that suggest the need for closures, and whether closures really fit into the language.
by Neal Gafter
[May 16, 2007 | Discuss (0)]

j1-2k7-mtH03: Substance Look and Feel
Substance look and feel aims to provide a configurable and customizable production-quality Java look and feel library for Swing applications. This mini-talk will show the following Substance features: Using Substance in your Swing application, Using core themes, watermarks and skins, Writing your own theme, watermark and skin, Using animation API, Additional UI elements available under Substance, Substance plugin infrastructure and examples for SwingX, Flamingo and NetBeans
by Kirill Grouchnikov
[May 11, 2007 | Discuss (1)]

j1-2k7-mtT09: Teaching Java: from High School Student to Professional Developer
It goes without saying that programming is the key skill for software development professionals. It is also, traditionally, very hard to teach and learn. This talk by Ian Utting will introduce a set of free tools designed to introduce students to OO programming via Java in High Schools (Greenfoot), at the start of the University careers (BlueJ), and as they progress towards using full-scale professional IDEs (NetBeans/BlueJ Edition).
by Chris Adamson
[May 08, 2007 | Discuss (4)]

j1-2k7-mtW01: Music Programming with Java (for dummies)
In this session, you'll learn about a project that brings music composition down to the absolute 'dummy' music programmer. Basically, the project, which is open sourced on dev.java.net, provides a visual designer on top of the JFugue API, which is a simplified MIDI API. Come see how simple it can be to compose music and, if you like, join the project and extend the designer.
by Chris Adamson
[May 08, 2007 | Discuss (1)]

JavaOne 2007 Community Corner Podcasts: Project Darkstar Interview
Project Darkstar is a collection of technologies around providing high-performance, high-uptime, low-latency servers for massively-multiplayer online games and other applications. A Darkstar Community has recently been approved for java.net and in this interview, Darkstar founder Jeff Kesselman talks with java.net editor Chris Adamson about the project, what it does, and what people are doing with it.
by Chris Adamson
[May 07, 2007 | Discuss (1)]

JavaOne 2007 Community Corner Podcasts: Best of 2006
Once again, the java.net Community Corner booth will be the place to be for dozens of 20-minute mini-talks delivered by members of the java.net community, about their projects, their communities, and other topics that interest them. And once again, java.net will record and offer all the mini-talks as a podcast feed. In this "feed seed," java.net editor Chris Adamson compiles a selection of highlights from some of the most popular talks from the 2006 Community Corner.
by Chris Adamson
[May 03, 2007 | Discuss (1)]

Top 50: Interview with John Catherino of the Cajo Project
Kicking off a series of interviews with developers from some of java.net's most popular and prominent projects, Marla Parker interviews John Catherino about the Cajo project. This project distributes objects between multiple JVMs, allowing you to scale large applications, or transparently remote a GUI.
by Marla Parker
[April 24, 2007 | Discuss (2)]

Holiday Pictures 2006
Many people take a week near the end of the year as vacation and travel or spend a little extra time with family. Duke is no exception. We're looking for your pictures of Duke on vacation.
by Chris Adamson and Daniel H. Steinberg
[December 05, 2006 | Discuss (2)]

java.net Editorial: Not a Hoax
The day that some never thought would come, has. Sun's Java SE and ME runtimes, and the GlassFish EE application server, have all been released under terms of the GPL. In this editorial, java.net editor Chris Adamson takes a look at the open source Java release and what it offers to the java.net community
by Chris Adamson
[November 13, 2006]

Jini Beyond the Choir
In a video recreation of his presentation from the 10th Jini Community Meeting, Daniel Steinberg looks at the current state of Jini adoption and asks the questions of what the technology does that is of interest to developers and end users, and how to get that message out more successfully.
by Daniel H. Steinberg
[September 28, 2006 | Discuss (3)]

Mobicents: JSLEE for the People, by the People
VoIP services depend on high-performance, low-latency servers that can manage the activity of thousands of users logging in, logging out, starting connections with each other, etc. JAIN SLEE is a Java spec for such a system, and java.net's Mobicents project represents its first open source implementation. Ivelin Ivanov introduces JAIN SLEE design and the Mobicents implementation.
by Ivelin Ivanov
[March 14, 2006 | Discuss (5)]

Duke's Vacation 2005
Duke's taking the rest of the year off, and java.net members have the pictures to prove where he's been and what he's up to.
by Chris Adamson
[December 22, 2005]

Holiday Pictures 2005
We're taking it easy the last week of 2005. Many people take this week as vacation and travel or spend a little extra time with family. Duke is no exception. We're looking for your pictures of Duke on vacation.
by Chris Adamson, Daniel H. Steinberg
[December 01, 2005 | Discuss (0)]

Creating and Managing an Open Source Project, Part 1
Do you want to kick off your own open source project? The tools can be provided by java.net, and it helps if you know how to best use them. In this first part of a series of article on open source project management, Michael Nascimento Santos helps you consider whether you need to create a new project, what license to use, and how to navigate java.net's project-creation tools.
by Michael Nascimento Santos
[July 28, 2005 | Discuss (6)]

Happy Anniversary, java.net
Your pictures of Duke and family celebrating java.net's second anniversary.
by Daniel H. Steinberg
[June 10, 2005 | Discuss (0)]

Anniversary Pictures
We're coming up to the second anniversary of java.net, and looking for your pictures of Duke and family celebrating this event.
by Daniel H. Steinberg
[May 12, 2005]

April Fools 2005
What Java/technology April Fools stories would you have run this year?
by Daniel H. Steinberg
[April 01, 2005 | Discuss (4)]

java.net Success Story: OpenSymphony
OpenSymphony is a collection of projects that share common goals: good design, real-world applicability, and loose coupling. The coupling is so loose, in fact, that many developers don't even realize that subprojects like SiteMesh and OSCache share a common parent. This java.net success story looks at the project's history and accomplishments, based on an interview with project leaders Hani Suleiman and Patrick Lightbody.
by Chris Adamson
[February 25, 2005]

Duke's Vacation 2004
Here are some of the pictures readers sent us of Duke on vacation.
by Daniel H. Steinberg
[December 23, 2004 | Discuss (0)]

Holiday Pictures
We're taking it easy the last week of 2004. Many people take this week as vacation and travel or spend a little extra time with family. Duke is no exception. We're looking for your pictures of Duke on vacation.
by Daniel H. Steinberg
[December 01, 2004 | Discuss (0)]

java.net Success Story: JOGL
High-performance 2D and 3D graphics are available to Java programmers thanks to JOGL, a java.net project that exposes the industry-leading OpenGL graphics API to Java. This java.net success story looks at how the project came together and how it's paying off for games and other Java applications.
by Chris Adamson
[October 15, 2004]

The Blacksmith and the Bookkeeper, Part 3
This series of articles explores the role of the blacksmith and the bookkeeper in 19th century economies, explains the extinction of the one and the growth of the other, and compares the postmodern role of programmer to both, culminating in forecasts for the likely evolution of software programming as a viable future profession.
by Max Goff
[October 12, 2004 | Discuss (15)]

The Blacksmith and the Bookkeeper, Part 2
This series of articles explores the role of the blacksmith and the bookkeeper in 19th century economies, explains the extinction of the one and the growth of the other, and compares the postmodern role of programmer to both, culminating in forecasts for the likely evolution of software programming as a viable future profession.
by Max Goff
[September 28, 2004 | Discuss (7)]

The Blacksmith and the Bookkeeper, Part 1
This series of articles explores the role of the blacksmith and the bookkeeper in 19th century economies, explains the extinction of the one and the growth of the other, and compares the postmodern role of programmer to both, culminating in forecasts for the likely evolution of software programming as a viable future profession.
by Max Goff
[September 09, 2004 | Discuss (9)]

Happy Anniversary java.net
Your pictures of Duke and family celebrating java.net's first anniversary.
by Daniel H. Steinberg
[June 10, 2004 | Discuss (0)]

Anniversary Pictures
We're coming up to the first anniversary of java.net, and looking for your pictures of Duke and family celebrating this event.
by Daniel H. Steinberg
[June 04, 2004]

java.net Success Story: Open For Business
The Open For Business project has developed an industrial-strength infrastructure for a wide variety of business applications. This java.net success story profiles the project and its founders.
by Chris Adamson
[June 01, 2004]

Sun's Open Letter to Eclipse Membership
The following was sent by Sun to the Eclipse board and membership on January 29, 2004 and then posted on January 30 as an open letter. We've decided to post this to provide a place to discuss the issues raised in this letter.
[January 30, 2004 | Discuss (15)]

Duke's Vacation 2003
Here are some of the pictures readers sent us of Duke on vacation.
by Daniel H. Steinberg
[December 31, 2003 | Discuss (0)]

Holiday Pictures
We're taking it easy the last week of 2003. Many people take this week as vacation and travel or spend a little extra time with family. Duke is no exception. We're looking for your pictures of Duke on vacation.
by Daniel H. Steinberg
[December 12, 2003 | Discuss (2)]

Letter to the Editor
Fahrin Kabir's questions about Java technology.
[November 26, 2003 | Discuss (7)]

Letter to the Editor
Andy Freeman leads off our Letters to the Editor with some thoughts on how we can improve java.net.
[September 30, 2003 | Discuss (1)]

First Community Meeting
java.net is itself a java.net community. We are in the process of organizing and figuring out how to best be a community. During this year's JavaOne conference, java.net's first community meeting was held. Here are the unedited notes of one of the Sun employees that helped steer this project before launch.
by Danese Cooper
[July 16, 2003 | Discuss (2)]

A Vision for java.net
Richard Gabriel presents the original vision for java.net and welcomes you to a community-run site for Java developers.
by Richard P Gabriel
[June 10, 2003 | Discuss (20)]

The Javapedia Project
The goal of the Javapedia Project on java.net is to create a complete and accurate online encyclopedia of all things Java. Anyone with a question about Java technology will hopefully be able to find an answer in it. Javapedia entries would cover all aspects of the Java language, class libraries, history, philosophy, you name it -- if it relates to Java, it belongs in the Javapedia.
by Ron Goldman
[June 10, 2003 | Discuss (0)]


Databases

Query by Slice, Parallel Execute, and Join: A Thread Pool Pattern in Java
Pagination is a much-needed feature; one that's harder than it looks. For large datasets, reading all results into memory is impractical, if not dangerous, but only fetching small chunks can make it difficult to apply business logic across all results. Binildas C. A. shows how to combine the database's ROWNUM function with Java SE 5's thread pools to create highly effective pagination.
by Binildas Christudas
[January 31, 2008 | Discuss (8)]

Adopting a Java Persistence Framework: Which, When, and What?
Java programmers have a number of persistence frameworks to choose from, and far from being redundant, each is based on significantly different beliefs, assumptions, and ideal use-cases. In this article, Sharad Acharya takes a comparative look at JPA, Entity EJBs, Hibernate, and TopLink, to help you understand which is right for your needs.
by Sharad Acharya
[December 18, 2007 | Discuss (19)]

What's New in JDBC 4.0?
Java SE 6 offers a new version of the platform's database support: JDBC 4.0. Sharad Acharya shows off the new features, including simplified driver loading, better exception reporting and handling, support for more data types, and more.
by Sharad Acharya
[April 10, 2007 | Discuss (4)]

JavaDB End-to-End Security
The all-Java database JavaDB (aka Derby) is known for its embeddability, but what about security? Can you put it out there for enterprise applications and keep data safe? Masoud Kalali shows the steps you can take to secure your JavaDB data.
by Masoud Kalali
[March 20, 2007 | Discuss (0)]

Synchronizing a Web Client Database: LocalCalendar and Google Calendar
You have a web application, but in some cases your users want to be able to work locally, off-network, and synch up later. In this article, David Van Couvering shows how Java DB can be used to achieve this.
by David Van Couvering
[January 16, 2007 | Discuss (6)]

More Persistence for Client-Side Developers
Continuing his introduction to the EJB 3 Java Persistence API as seen by the desktop developer, Joshua Marinacci shows how to put together a complete and fairly sophisticatedaddress book program, with one-to-many relationships, useful inheritance approaches, and other powerful techniques.
by Joshua Marinacci
[June 08, 2006 | Discuss (8)]

An Introduction to Java Persistence for Client-Side Developers
The EJB3 Java Persistence API may have been meant for enterprise developers, but there's no reason that desktop developers can't use it. Joshua Marinacci shows how a lightweight combination of Hibernate, HSQLDB, and the JPA can make saving address book entries a snap.
by Joshua Marinacci
[May 25, 2006 | Discuss (49)]

Agile Legacies: Using Iterative Methods to Import Legacy Data
Oftentimes, your new code replaces an older system whose data must be migrated to the new system. This isn't a process that gets a lot of thought, but John Ferguson Smart says it probably should. In this article, he shows how an iterative, test-driven approach can save you a lot of headaches later.
by John Ferguson Smart
[March 02, 2006 | Discuss (1)]

App-Managed JDBC DataSources with commons-dbcp
Need a connection pool but maybe not one provided by a container? This need still comes up in special cases--tightly managed environments, CD-ROM distribution, etc.--and there's no need to reinvent the wheel yourself. Ethan McCalllum shows how the Apache Commons package commons-dbcp can help.
by Ethan McCallum
[November 17, 2005 | Discuss (7)]

Unit Testing Hibernate Mapping Configurations
Hibernate's use of mapping files to define object-relational mappings means that these files are as much a part of your program as the Java code... and sometimes they don't work. Johannes Brodwall shows how you can apply unit testing techniques to test and verify your Hibernate mappings.
by Johannes Brodwall
[October 11, 2005 | Discuss (10)]

An Open Source Database Benchmark
It's hard to make decisions about databases when you don't have an accurate way to measure their performance vis-à-vis your application's requirements. PolePosition offers a solution--an open source database benchmarking tool that you can customize with your own tests. In this article, Rick Grehan takes it out for a spin.
by Rick Grehan
[June 14, 2005 | Discuss (4)]

Laszlo: An Open Source Framework for Rich Internet Applications
William Grosso gives you a quick overview of Laszlo, an open source rich internet applications development platform. After a high-level overview of what Laszlo is and how it works, you'll get a quick tour through some of the basic features of Laszlo, and see what's involved in building a very application in Laszlo. Finally, he looks at where it does and does not make sense to use Laszlo.
by William Grosso
[March 22, 2005 | Discuss (11)]

Your Hibernate-Powered Application is Ready for CMT
Using Hibernate with container-managed transactions is so simple that Hibernate's FAQ practically brushes off the question. Yet many report having a hard time getting it working. In this article, Olexiy Prohorenko shows how.
by Olexiy Prohorenko
[January 20, 2005 | Discuss (14)]

Core Java Data Objects Excerpt
This excerpt from Core Java Data Objects, "Getting Started with JDO," covers how JDO is able to transparently persist instances of Java classes, the basic JDO interfaces and how they are related, how to define a Java class that can be used with a JDO implementation, and how to connect to a datastore.
by Sameer Tyagi
[October 26, 2004 | Discuss (0)]

Berkeley DB, Java Edition II: Implementing Session Management
In the first article of this series, William Grosso covered the basics of using Berkeley DB. In this article, he walks through a more extended example of using it for session management. While this series doesn't illustrate the full power of Berkeley DB, it will give you a good feel for how to use it. And you might be surprised at how complicated some aspects of using Berkeley DB are.
by William Grosso
[September 24, 2004 | Discuss (0)]

Berkeley DB, Java Edition I: The Basics
William Grosso takes you through the basics of using the Java Edition of Berkeley DB, covering the basics of embedded databases and discussing Berkeley DB and some of the basic things you need to know in order to use it.
by William Grosso
[August 24, 2004 | Discuss (8)]

Lucene Intro
Lucene is a high-performance, scalable, search engine technology. The first part of this article takes you through an example of using Lucene to index all the text files in a directory and its subdirectories. The remainder provides examples of analysis and searching.
by Erik Hatcher
[July 30, 2004 | Discuss (16)]

Accessing Databases from Servlets and JSP Pages
Accessing data in a database or other data sources is an important task in Web programming. This article shows how you can do the most common database manipulations from servlets and JSP pages. This article begins with an introduction to JDBC followed by some examples of servlets that allow you to access the data in the database.
by Budi Kurniawan
[June 20, 2003 | Discuss (0)]


Education

A Discussion of the BlueJ IDE with Two of Its Developers: Michael Kölling and Ian Utting
BlueJ is a simplified Java IDE, built upon NetBeans technology with the expressed purpose of introducing new CS students to object-oriented programming at the high school and introductory university levels. In this interview, Gary Thompson talks with two of BlueJ's developers, Michael Kölling and Ian Utting.
by Gary Thompson
[June 26, 2008 | Discuss (2)]

Reading the News with Sun's RSS Utilities
RSS is the syndication standard that powers web newsfeeds and podcasts, but at the end of the day, it's simple, parsable XML. A JSP tutorial from Sun includes a surprisingly capable RSS parser, and Chris Hardin shows how you can use it in your own applications.
by Chris Hardin
[March 21, 2006 | Discuss (12)]

Java Tech: The Sweet Song of the BlueJ, Part 2
BlueJ, an IDE for beginning Java programmers, has more under the hood than you might expect. In the second part of his survey of BlueJ, Java Tech columnist Jeff Friesen looks at BlueJ's support for debugging, unit testing, building executable JARs, its configurability, and more.
by Jeff Friesen
[August 30, 2005 | Discuss (0)]

Java Tech: The Sweet Song of the BlueJ, Part 1
It's hard to teach the object-oriented concepts of Java when the first thing the student sees is the very procedural public static void main (String[]). BlueJ offers a way to teach Java's OO concepts in a visual environment, allowing the student to connect and implement classes with mouse clicks and drags. In this installment of "Java Tech," Jeff Friesen introduces this educational tool.
by Jeff Friesen
[July 21, 2005 | Discuss (19)]

The Requisites of a Question-Management System
The Quaestio module of the java.net Schoolbus project hopes to make it easier for teachers and professors to manage the questions they use on tests, quizzes, and homework. As project contributor Felipe Gaucho explains, hammering out the needs, goals, and concepts of such a system is tricker than it looks.
by Felipe Gaucho
[September 02, 2004 | Discuss (5)]

Keep Changes Small: A Happy Jack Story
How do you reconcile the calls from agile processes for constant refactoring and integration with demands to deliver huge new pieces of functionality? In a sort of cubicle-era Socratic dialogue, Michael Ivey shows how developers can learn to do big things with small changes.
by Michael Ivey
[April 27, 2004 | Discuss (2)]

Extreme Software Engineering: A Hands-On Approach
These excerpts from the book Extreme Software Engineering: A Hands-On Approach present tutorials on testing first, with unit tests using JUnit and customer-written tests with the Fit framework.
by Daniel H. Steinberg and Daniel W. Palmer
[March 03, 2004 | Discuss (0)]

Pragmatic Programmers, Part 2
Pragmatic Programmers Andy Hunt and Dave Thomas talk with Bill Venners about a gardening metaphor for software development, the reasons coding is not mechanical, and the importance of getting feedback during development by firing "tracer bullets."
by Bill Venners
[February 23, 2004 | Discuss (0)]

What I Want To Know About Your Process
Key to successful development are three cornerstones of good process: source control, change tracking, and regular builds. Process expert Michael Ivey looks at each one and shows why even the smallest project needs them.
by Michael Ivey
[February 13, 2004 | Discuss (5)]

Pragmatic Programmers, Part 1
Pragmatic Programmers Andy Hunt and Dave Thomas talk with Bill Venners about software craftsmanship, the importance of fixing the small problems in your code (the "broken windows") so they don't grow into large problems, and making design decisions that are reversible and adaptive.
by Bill Venners
[February 06, 2004 | Discuss (0)]

StarLogo
StarLogo is a fun (and free!) present to give your kids. The true gift is one of learning and sharing the learning experience with them. This article will explore StarLogo adventure projects, from a termite colony that displays emergent behavior to bumper turtles that familiarize us with the StarLogo environment. These projects demonstrate how kids can play and explore before learning how to program. Finally, avenues for further exploration will be illuminated and in the end, you might be surprised to find yourself playing with StarLogo long after the kids have gone to bed.
by Mike Clark
[December 19, 2003 | Discuss (1)]

Extreme Teaching: Introducing Objects
Teachers of object-oriented programming can use the Fit framework to create an executable spec for an assignment. The spec itself leads the students through the project.
by Daniel H. Steinberg
[August 28, 2003 | Discuss (3)]

Exploring the Java Research License
The Java Research License (JRL) was introduced at JavaOne as a new open source license for universities and research. A panel of java.net bloggers talk about the new license and invite you into the discussion.
by Daniel H. Steinberg
[June 24, 2003 | Discuss (3)]

The Javapedia Project
The goal of the Javapedia Project on java.net is to create a complete and accurate online encyclopedia of all things Java. Anyone with a question about Java technology will hopefully be able to find an answer in it. Javapedia entries would cover all aspects of the Java language, class libraries, history, philosophy, you name it -- if it relates to Java, it belongs in the Javapedia.
by Ron Goldman
[June 10, 2003 | Discuss (0)]


EJB

Using Annotations on the Java EE 5.0 Platform
Java EE 5 achieves a high level of simplification over previous editions of the platform by using annotations for declarative programming. In this article, Sangeetha S. and Subrahmanya S. V. look into this approach and its many uses.
by Sangeetha S. and Subrahmanya S. V.
[May 22, 2007 | Discuss (0)]

Migrating from EJB 2.x to EJB 3.0
EJB 3.0 makes life easier, but what if you've already got an EJB 2.x app written? How do you make the move? Should you? Sangeetha S and Subrahmanya S V look at the specifics of what changed in EJB versions and introduce strategies for making the move.
by Sangeetha S. and Subrahmanya S. V.
[January 23, 2007 | Discuss (6)]

Validate Java EE Annotations with Annotation Processors
Annotations are one of Java 5's most compelling features, but their openness is in some ways a curse: there's nothing keeping you from declaring illegal combinations of annotations (like @Stateful and @Stateless). Annotation processors give you the opportunity to inspect annotations, either with the currently available Apt or or the upcoming JSR-269 annotation processor. Jason Li takes a look at both in this article.
by Jason Zhicheng Li
[June 29, 2006 | Discuss (0)]

Component Inheritance in EJB 2.0
Many think that that EJB 2.0 doesn't support inheritance for entity beans, and this has been a driver of support for POJO-based frameworks. However, David Musicant says that component inheritance is possible, explains what that means, and shows how to do it.
by David Musicant
[October 25, 2005 | Discuss (0)]

What's New in EJB 3.0
Enterprise JavaBeans (EJB) 3.0 breaks with many traditions, freeing developers from deployment descriptors, boilerplate methods, and other hassles, in favor of annotation-powered declarative programming. In this article, Krishna Srinivasan looks at 3.0's major differences.
by Krishna Srinivasan
[August 18, 2005 | Discuss (0)]

Your Hibernate-Powered Application is Ready for CMT
Using Hibernate with container-managed transactions is so simple that Hibernate's FAQ practically brushes off the question. Yet many report having a hard time getting it working. In this article, Olexiy Prohorenko shows how.
by Olexiy Prohorenko
[January 20, 2005 | Discuss (14)]

Testing Your Enterprise JavaBeans with Cactus
Test-driven development is an important technique, but Enterprise JavaBeans can be difficult to test in isolation. Cactus, from Apache's Jakarta project, makes this easy by bridging JUnit unit tests to server-side application containers. Olexiy Prohorenko shows how it works.
by Olexiy Prohorenko
[December 07, 2004 | Discuss (0)]

New Life for EJB
The proposed EJB 3.0 specification defines a new syntax to simplify development, but Rajat Taneja and Ganesh Prasad say it fails to address fundamental flaws in the model. Instead, they propose what they call "a better way."
by Ganesh Prasad and Rajat Taneja
[August 05, 2004]


Extreme Programming

UISpec4J: Java GUI Testing Made Simple
GUI's are notoriously difficult to test, and the robot-based approach to automated testing makes agile development difficult, as you need finished GUIs before you can test. The UISpec4J project takes a different approach, and in this article Régis Medina and Pascal Pratmarty show how it works.
by Régis Medina and Pascal Pratmarty
[May 17, 2007 | Discuss (2)]

Code Reviews
Need to be sure your program really runs right? Oh sure, testing's a part of it, but so are code reviews. Sri Sankaran argues that research and experience prove that a standardized, effective code review process mitigates costs and produces better code.
by Srivaths Sankaran
[August 17, 2006 | Discuss (3)]

Keep Changes Small: A Happy Jack Story
How do you reconcile the calls from agile processes for constant refactoring and integration with demands to deliver huge new pieces of functionality? In a sort of cubicle-era Socratic dialogue, Michael Ivey shows how developers can learn to do big things with small changes.
by Michael Ivey
[April 27, 2004 | Discuss (2)]

Extreme Software Engineering: A Hands-On Approach
These excerpts from the book Extreme Software Engineering: A Hands-On Approach present tutorials on testing first, with unit tests using JUnit and customer-written tests with the Fit framework.
by Daniel H. Steinberg and Daniel W. Palmer
[March 03, 2004 | Discuss (0)]

A Dozen Ways to Get the Testing Bug in the New Year
This article gives you 12 practical ways to start (and keep) writing tests, regardless of your development process. Testing is important, and writing tests first results in the emergence of better designs.
by Mike Clark
[January 22, 2004 | Discuss (3)]

Unit Testing In Java
In this excerpt from his book Unit Testing in Java, author Johannes Link shows a direct approach to test first designs of Graphical User Interfaces.
by Johannes Link
[October 16, 2003 | Discuss (0)]

Running Individual Test Cases from Ant
How to use JUnit and Ant together so that you have more control over which test cases get run.
by Luke Francl
[September 12, 2003 | Discuss (4)]

Extreme Teaching: Introducing Objects
Teachers of object-oriented programming can use the Fit framework to create an executable spec for an assignment. The spec itself leads the students through the project.
by Daniel H. Steinberg
[August 28, 2003 | Discuss (3)]

Multithreaded Tests with JUnit
JUnit is the glue that holds many open source projects together. But JUnit has problems performing multithreaded unit tests. This article introduces a JUnit extension library designed to enable multithreaded unit testing in JUnit.
by N. Alex Rupp
[August 06, 2003 | Discuss (6)]


GUI

Automatic User Interface with OpenXava: An Evolutionary Option for GUIs
From AWT to Swing, JSP to JSF, Ajax to JavaFX, a lot of time is spent developing GUIs to visually express relationships that are implicit, if not manifest, in the data itself. So why not let the data shape the GUI? Automatic GUI builders do just that, and in this article, Javier Paniza shows how OpenXava does it.
by Javier Paniza
[June 24, 2008 | Discuss (10)]

Binding Beans
Expressing GUI relationships through beans' getters and setters is a burdensome process of wiring that has frustrated many developers. Binding offers an alternative: automatically connecting a model value to its GUI representation. This style of programming is available to users of the JGoodies Binding framework, as well as the implementation of JSR-295, and in this article Thomas Künneth takes a look at both.
by Thomas Künneth
[May 27, 2008 | Discuss (11)]

Mapping Mashups with the JXMapViewer
Having introduced SwingLabs' JXMapViewer and JXMapKit in a previous article, Joshua Marinacci puts these components to work by showing how you can bring in geographic data from external sources and use Painters to create custom geodata GUIs.
by Joshua Marinacci
[November 13, 2007 | Discuss (24)]

Create Moving Experiences with Animated Transitions
A GUI that radically changes its layout as it goes from one mode to the other can be jarring to users. A new trend is for changes in content or context to be animated, so the user can see the nature of the changes. In an example inspired by the the Filthy Rich Clients book he co-authored, Chet Haase introduces the Animated Transitions library, which can help you achieve these effects in your Swing application.
by Chet Haase
[October 23, 2007 | Discuss (1)]

Debugging Swing
Proper Swing programming depends on widely known but unenforced rules about the proper handling of the event-dispatch thread, and failure to follow those rules leads to many Swing problems. In this article, Kirill Grouchnikov shows off techniques to find and fix bugs relating to Swing EDT misuse.
by Kirill Grouchnikov
[August 30, 2007 | Discuss (14)]

Scalable Vector Graphics on Java ME
SVG Tiny Profile is spec'ed for Java ME in JSR 226, and it will be a requirement in upcoming ME handsets. In this article, Biswajit Sarkar has an introduction to drawing, loading, and animating SVG images in ME.
by Biswajit Sarkar
[July 10, 2007 | Discuss (1)]

UISpec4J: Java GUI Testing Made Simple
GUI's are notoriously difficult to test, and the robot-based approach to automated testing makes agile development difficult, as you need finished GUIs before you can test. The UISpec4J project takes a different approach, and in this article Régis Medina and Pascal Pratmarty show how it works.
by Régis Medina and Pascal Pratmarty
[May 17, 2007 | Discuss (2)]

The Perils of Image.getScaledInstance()
Lots of developers use the simple Image.getScaledInstance() that's been around since Java 1.1, apparently not realizing that Java 2D provides better-looking, more performant, and more flexible options. Chris Campbell checks in with where image scaling is in Java SE 6 and what we might see in JDK 7.
by Chris Campbell
[April 03, 2007 | Discuss (30)]

A Navigable Image Panel
A lot of applications use similar GUIs for viewing images, even though the user experience is awful. Slav Boleslawski has some better ideas for a "navigable image viewer," and in this article, he shows how to use Java 2D to achieve them.
by Slav Boleslawski
[March 27, 2007 | Discuss (9)]

Image I/O Utilities Grab Bag
Sometimes what you need is not an enormous framework, but a grab bag of bite-size morsels. That's what Jeff Friesen has in this article, which offers three commonly needed graphic conveniences, implemented with the Image I/O package.
by Jeff Friesen
[March 06, 2007 | Discuss (8)]

How to Write a Custom Swing Component
You want a GUI component with a unique behavior, and Swing doesn't offer exactly what you need. So what do you do, go without? Hardly. Swing's flexibility allows you to develop custom components with any functionality you care to model and render. Substance project owner Kirill Grouchnikov shows how this is done.
by Kirill Grouchnikov
[February 22, 2007 | Discuss (12)]

Web Swinging
You application needs content from a web page or web service, so that rules out writing a rich application and forces you to write a web app, right? Not so fast. The emerging trend of smashups--Swing mashups--combine rich Swing GUIs with data fetched from the Web. Richard Bair shows you how to bring these web-fetching techniques to your Swing app.
by Richard Bair
[October 12, 2006 | Discuss (24)]

More Persistence for Client-Side Developers
Continuing his introduction to the EJB 3 Java Persistence API as seen by the desktop developer, Joshua Marinacci shows how to put together a complete and fairly sophisticatedaddress book program, with one-to-many relationships, useful inheritance approaches, and other powerful techniques.
by Joshua Marinacci
[June 08, 2006 | Discuss (8)]

An Introduction to Java Persistence for Client-Side Developers
The EJB3 Java Persistence API may have been meant for enterprise developers, but there's no reason that desktop developers can't use it. Joshua Marinacci shows how a lightweight combination of Hibernate, HSQLDB, and the JPA can make saving address book entries a snap.
by Joshua Marinacci
[May 25, 2006 | Discuss (49)]

Introducing JAXX: A New Way to Swing
Swing's great, except for the thousands of lines of manual layout, event wiring, data binding, etc. JAXX offers an alternative: an XML markup that offers faster and more intuitive ways to lay out and wire up your GUI, while still offering tremendous flexibility. Ethan Nicholas shows what's inside this exciting new package.
by Ethan Nicholas
[March 30, 2006 | Discuss (17)]

MultiSplitPane: Splitting Without Nesting
Want to divide a GUI into many resizable pieces? The two-sided JSplitPane is hopelessly primitive, so try Hans Muller's MultiSplitPane, a much more capable alternative. In this article, he shows how to create, persist, and restore complex, resizable layouts.
by Hans Muller
[March 23, 2006 | Discuss (23)]

Time Again
The Timing Framework project provides commonly used timing concepts for animations. Its latest version adds newer and more sophisticated features, for interpolating between key frames. Chet Haase takes another look at the framework.
by Chet Haase
[March 15, 2006 | Discuss (1)]

Using the Wizard API
Wizards are a popular form of user-interface metaphor, but without direct support in AWT or Swing, they typically need to be created by hand, often with a manually managed CardLayout. Fortunately, the SwingLabs project has a Wizard subproject that is powerful and easy to use. Thomas Kuenneth shows off how it works.
by Thomas Künneth
[February 28, 2006 | Discuss (20)]

Building GUIs with SwiXml
Challenged by the complexities of GridBagLayout and the ugliness of wiring all of that GUI layout code into your application? SwiXml offers an alternative: declare your GUI in XML markup and let SwiXml wire it up to your application. Joshua Marinacci shows how it's done.
by Joshua Marinacci
[February 21, 2006 | Discuss (27)]

Java Tech: Process Images with Imagician
Jeff Friesen returns to image manipulation in the latest installment of "Java Tech," showing how to create an image-editing application with a series of common, useful graphic effects. He also adds a status bar that explains the effect of each menu item.
by Jeff Friesen
[February 07, 2006 | Discuss (0)]

Building an eBay Rich Client using the XUI Framework
Rich client development doesn't have to mean AWT, Swing, SWT, or even Ajax. Using the XUI framework, you can build your GUI with XML markup, and use convenient data binding to interact with your Java code. In this article, Luan O'Carroll combines XUI with the eBay SDK to show how you build a rich client for eBay users.
by Luan O'Carroll
[January 12, 2006 | Discuss (0)]

Java Tech: Image Embossing
Many GUIs use an "embossing" effect to create the illusion of depth, manipulating pixel colors to suggest small ridges and valleys. In this installment of "Java Tech," Jeff Friesen introduces an algorithm to perform the embossing effect, and shows how easy it is to implement with Swing and Java2D.
by Jeff Friesen
[December 08, 2005 | Discuss (3)]

(Not So) Stupid Questions 6: Comparability of Minimum, Maximum Dimensions
This "stupid question" is about the definition of AWT/Swing Components' getXXXSize() methods, given that the Dimensions they return are not Comparable.
[November 24, 2005 | Discuss (6)]

Accessing a PDF Document with the Acrobat Viewer JavaBean
Do you need to open a PDF document in a Java GUI application or applet? Adobe's Acrobat Viewer JavaBean provides PDF viewing in the form of an easily embedded component. Deepak Vohra introduces its use and features.
by Deepak Vohra
[October 20, 2005 | Discuss (44)]

Java Sketchbook: Digging into Java Web Start
Java Web Start offers new solutions to old problems of distributing J2SE applications to end users. In the second installment of his look at JWS, Java Sketchbook columnist Joshua Marinacci looks at the JWS sandbox, options for getting out of it, speeding up downloads with Pack 200 compression, and more.
by Joshua Marinacci
[September 01, 2005 | Discuss (11)]

Interaction Happens: Prototyping Techniques
Do you prototype your GUIs? Should you? A great prototype can help work out the kinks in the flow of a GUI. But it can also get rushed into production as a seemingly (but not really) ready product, if you do too good a job of showing how your app will work. In this installment of "Interaction Happens," Jonathan Simon surveys the range of prototype options available to the GUI developer.
by Jonathan Simon
[August 23, 2005 | Discuss (0)]

Java Sketchbook: Getting Started with Java Web Start
Desktop developers have long desired a more practical means of deploying applications than just dropping files on a client machine and expecting the user to do a java -jar, or a script/batch file equivalent. Java Web Start addresses not only this user experience problem, but also helps with updating client code. In this installment of "The Java Sketchbook," Joshua Marinacci looks at how Web Start works.
by Joshua Marinacci
[August 11, 2005 | Discuss (42)]

LCD Text: Anti-Aliasing on the Fringe
Anti-aliasing helps with the appearance of text, but on LCD monitors you can do even better: you can use the spatial arrangement of the red, green, and blue parts of each pixel to achieve an even better anti-aliasing effect. This feature is coming to Java in Mustang, and in this article, Chet Haase explains how it works.
by Chet Haase
[July 26, 2005 | Discuss (24)]

Interaction Happens: Thinking Graphically
Some applications make perfect sense to the developer, but not to the end user. Are you thinking of your GUIs in terms of what the developer needs, what the application needs, or what the user needs? In this installment of "Interaction Happens," Jonathan Simon shows how to "think holistically" about your GUI.
by Jonathan Simon
[July 12, 2005 | Discuss (9)]

Pixel Pushing
Users of desktop applications are demanding--something as simple as a misplaced or misaligned pixel is unacceptable to some users. So it's up to you to get things exactly right. But is this practical, and how do you do it? Jonathan Simon shows a process for analyzing, coding, and testing your GUI for pixel perfection, demonstrating it with a pixel-accurate mimicry of a Windows-specific icon.
by Jonathan Simon
[June 07, 2005 | Discuss (17)]

Low-Level Display Access in MIDlets
In part four of his series on mobile application development with J2ME, Thomas Künneth looks at the Canvas, which gives developers of games, multimedia, 3D and other applications the ability to render directly to the display instead of by way of a set of widgets.
by Thomas Künneth
[February 02, 2005 | Discuss (2)]

Mobile Memories: The MIDP Record Management System
In part three of his series on mobile application development with J2ME, Thomas Künneth looks at how MIDlets can use RecordStores to persist information, such as the records in his "Duke's Diary" example.
by Thomas Künneth
[November 16, 2004 | Discuss (0)]

Behind the Graphics2D: The OpenGL-based Pipeline
This document describes the current state of the OpenGL-based pipeline as of J2SE 5.0.
by Chris Campbell
[November 12, 2004 | Discuss (1)]

Through the Looking Glass
Project Looking Glass is the new 3D user interface for the Java Desktop System. Looking Glass is dependent upon processor speed and graphics card and system advancements, as well as on the coming of Java 3D.
by Sam Hiser
[November 08, 2004 | Discuss (1)]

Introducing JDesktop Integration Components, Part 2
Joshua Marinacci continues his investigation of Java Desktop Integration Components (JDIC) with a look into the SaverBeans API, which allows you to create Java-based screensavers.
by Joshua Marinacci
[November 01, 2004 | Discuss (2)]

Introducing JDesktop Integration Components, Part 1
It hasn't been easy to create a Java desktop application that goes beyond look and feel to actually do things native apps do--register file associations, communicate status via a tray icon, use the platform's browser, etc. But as Joshua Marinacci reports, JDesktop Integration Components may change all that.
by Joshua Marinacci
[October 14, 2004 | Discuss (3)]

Still on the Road with Duke
In part two of his series on mobile application development with J2ME, Thomas Künneth introduces the various GUI components that can be used in a mobile application, and combines them into a complete diary application.
by Thomas Künneth
[October 08, 2004 | Discuss (0)]

Java Sketchbook: Getting Started With Scripting
Programs that expose themselves to programming by the user are few and far between--an Emacs Lisp macro here, an AppleScript-able Mac app there. It's a pity, since scriptability gives users great power. With Java, embedding JavaScript as a scripting language is pretty easy. Joshua Marinacci shows how it can be done.
by Joshua Marinacci
[September 20, 2004 | Discuss (10)]

The JModalWindow Project
The JModalWindow Project is designed for when you want a modal window that implements window-specific modality rather than the application-wide modality provided by the standard JDialog class.
by Jene Jasper
[September 07, 2004 | Discuss (7)]

Making Fluid 3D Creatures with JOGL
It's fast, it lumbers, and it's in 3D. It's Fluidiom, an exploration of push-and-pull rendered in 3D by the JOGL library. Creator Gerald de Jong shows how this lifelike creature came to be.
by Gerald de Jong
[July 20, 2004 | Discuss (6)]

Behind The Scenes of Project Looking Glass
Project Looking Glass, highlighted in Scott McNealy's JavaOne keynote, is a 3D desktop environment that uses Java and hardware graphics acceleration to deliver a new kind of user experience. And now, it's open source. Will Iverson interviewed lead developer Hideya Kawahara to learn more about the project.
by Will Iverson
[July 06, 2004 | Discuss (7)]

Developing Swing Components Using Simulators
It's difficult to expose GUI components to testing, and in the worst case, tightly coupled components aren't seen or tested until their surrounding application is ready. Jonathan Simon says there's a better way, and it's called the "simulator."
by Jonathan Simon
[June 23, 2004 | Discuss (7)]

Java Sketchbook: The HTML Renderer Shootout, Part 2
HTML is everywhere; not just on the Web, but as a styled-text and hyperlinking standard for help systems, online stores, email, and many other applications. For these many needs, there are many Java-based HTML rendering toolkits. This second part of Joshua Marinacci's series looks at the commercial offerings in the HTML rendering space.
by Joshua Marinacci
[June 14, 2004 | Discuss (7)]

Java Sketchbook: The HTML Renderer Shootout, Part 1
HTML is everywhere; not just on the Web, but also as a styled-text and hyperlinking standard for help systems, online stores, email, and many other applications. And for these many needs, there are many Java-based HTML rendering toolkits. Part 1 of Joshua Marinacci's two-part series looks at the free offerings in the HTML rendering space.
by Joshua Marinacci
[May 24, 2004 | Discuss (17)]

Building a Better Brain, Part 2: A Great Thick Client
Joshua Marinacci built a distributed system for storing, searching, and updating small pieces of information. In this installment, he shows how to build an attractive thick client with Swing.
by Joshua Marinacci
[March 26, 2004 | Discuss (4)]

Juggling JOGL
Chris Adamson's series on JOGL, the Java bindings to the Open GL graphics library, continues with a tutorial on techniques for 2D gaming graphics, including animation, rotation, translation, and scaling.
by Chris Adamson
[March 18, 2004 | Discuss (9)]

Introduction to SiteMesh
Do you have items like footers or navigation bars that you'd like to repeat on every page of your site? Do you want to add them easily? Then maybe, says Will Iverson, the "decorator"-based SiteMesh is for you.
by Will Iverson
[March 11, 2004 | Discuss (13)]

Extreme Software Engineering: A Hands-On Approach
These excerpts from the book Extreme Software Engineering: A Hands-On Approach present tutorials on testing first, with unit tests using JUnit and customer-written tests with the Fit framework.
by Daniel H. Steinberg and Daniel W. Palmer
[March 03, 2004 | Discuss (0)]

Using Swing's Pluggable Look and Feel
Swing allows a Java application to present a GUI that resembles the underlying platform's appearance, present a common cross-platform look, or offer a completely new look. Thomas Künneth looks at how this works and addresses the question, "What should your app look like?"
by Thomas Künneth
[February 27, 2004 | Discuss (9)]

Make Your Swing App Go Native, Part 3
Swing applications don't often feel or behave like native apps. It doesn't have to be this way. Joshua Marinacci's three-part series concludes with polishing touches such as desktop icons, file selectors, and splash screens.
by Joshua Marinacci
[January 29, 2004 | Discuss (18)]

Make Your Swing App Go Native, Part 2
Swing applications don't often feel or behave like native apps. It doesn't have to be this way. Joshua Marinacci's continues with a look at providing double-clickable executables and filetype associations.
by Joshua Marinacci
[January 05, 2004 | Discuss (23)]

Six Signs That You Should Use Paper Prototyping
Paper prototyping lets you conduct informal usability tests with real users early in a project, before the design is cast in concrete code. This article provides background and gives you six signs that your project could benefit from paper prototyping.
by Carolyn Snyder
[December 23, 2003 | Discuss (4)]

Make Your Swing App Go Native, Part 1
Swing applications don't often feel or behave like native apps. It doesn't have to be this way. Joshua Marinacci's three-part series begins by improving an app's appearance and menus, and offers a way to get attention via the Windows taskbar and Mac OS X dock.
by Joshua Marinacci
[December 08, 2003 | Discuss (24)]

Unit Testing In Java
In this excerpt from his book Unit Testing in Java, author Johannes Link shows a direct approach to test first designs of Graphical User Interfaces.
by Johannes Link
[October 16, 2003 | Discuss (0)]

Designing as if Programmers are People
Ken Arnold, the original lead architect of JavaSpaces, talks with Bill Venners about the myth of "the perfect design," simplicity, taste, and the importance of designing with the user in mind. This article features some highlights from a sequence of conversations between Ken and Bill that originally appeared on Artima.com.
by Bill Venners
[June 10, 2003 | Discuss (0)]


JavaOne

j1-2k8-mtH10: Using Kepler's Orrery for teaching Planetary Science
Kepler's Orrery is an interactive gravity simulator that composes & plays generative music while visually demonstrating the physics of gravitational attraction. http://www.art.net/simran/GenerativeMusic/Kepler.html http://keplers-orrery.dev.java.net Not only is Kepler's Orrery a pleasing simulation for the eye and the ear, but it can be used as a powerful tool to teach gravity and how delicate of a balance our solar system is in.
by Mae Linh Blake
[August 29, 2008 | Discuss (0)]

j1-2k8-mtH09: Energy and CO2 Savings with Java EE 5/SE 6, Glassfish, Shoal, Groovy, SunSPOT and Java
Intelligent heating control saves not only energy (30-50%), is environmentally friendly, but increases the living comfort as well. Alone the priotirization of energy sources: solar thermal collector, wood buring stove, main heater combining with the inclusion of the weather-forecasts, contributes considerably to the energy saving. This session describes the architecture of the GreenFire project, especially: - Usage of JSR-223 (Scripting Integration) in Java EE 6 / 6 environment for the implementation of flexible rule systems - Reporting - Using EJB 3 timer service - Java EE compatible hardware integration - SunSPOT and sensor network integration - Using Java FX together with Swing and EJB 3 - Sensor Testing (with Junit and mocking) - Speech synthesizer integration (FreeTTS) - Management and monitoring of heating system over the internet - Mobile device Integration - Integration of Multi Media Center Systems
by Adam Bien
[August 27, 2008 | Discuss (1)]

j1-2k8-mtH08: Underworld - the Java EE 5 Backend For Wonderland
Wonderland is an interesting 3D collaboration application. It uses the darkstar server as backend. Project http://underworld.dev.java.net goal is porting the Wonderland's communication and persistence layer to Glassfish v2 (later v3) to leverage its non-functional capabilities like monitoring, management, deployment and scaleability. In this shorttalk, especially the architecture and design, as well as, challenges, hacks, and workarounds will be discussed.
by Adam Bien
[August 22, 2008 | Discuss (0)]

j1-2k8-mtH07: City of Oakland Solar Energy Promotion
The City and County of San Francisco (Department of the Environment) and Marin County are collaborating with the City of Oakland Public Works on an effort to assess and promote solar power opportunities in our communities. The City and County of San Francisco and Marin have been doing digital assessments. We are collaborating with the City of Oakland to transition from a paper-based approach to a web-based approach where much of the effort is delegated to the client/server.
by Barry Levine
[August 20, 2008 | Discuss (0)]

j1-2k8-mtH06: JT Harness - Open Source Test Harness
JTHarness is an open source extensible test harness, which can also serve as a front-end for JUnit tests.
by Brian Kurotsuchi
[August 15, 2008 | Discuss (0)]

j1-2k8-mtH05: cqME and ME Framework Testing Platform
ME Framework is an testing framework for the Java ME platform developed as part of the cqME open-source project. A set of plug-ins for the open-source JT Harness, ME Framework provides support for application and platform quality and conformance testing needs. This mini-talk covers testing framework features, Java ME application and security models, communication protocols optimization and debugging functionality.
by Mikhail Smirnov
[August 13, 2008 | Discuss (0)]

j1-2k8-mtH04: How to Use the TrackBot API
This talk will cover the basics of using the TrackBot API for simulating and controlling TrackBots. It will flesh out some of the concepts covered in the TrackBotsAndGreenfoot and SunSPOTsAndTrackBots talks, although attendance at those sessions is not a prerequisite.
by Shawn Silverman
[August 08, 2008 | Discuss (0)]

j1-2k8-mtH03: A Mobile Interface for Data Mash-Up
In this brief "fill-in" mini-talk, Parth Vohra shows off a mobile approach for data mashups, using OpenESB and the Mural project.
by Parth Vohra
[August 06, 2008 | Discuss (2)]

j1-2k8-mtH02: Kepler's Orrery
Kepler's Orrery is a generative music system that uses gravity equations to "compose" and play music. Start with planets (or stars or particles) that each have mass, position, and velocity, then run a n-body gravity simulator to make them move. They attract each other, accelerate, swirl around, and slingshot off each other. Sometimes they collide, and that's what plays the music.
by Simran Gleason
[August 01, 2008 | Discuss (0)]

j1-2k8-mtH01: Dynamic Networks with JBI
This mini talk addresses how Glassfish and OpenESB helped solve the problem of connecting disparate, secured networks for the purposes of running an exercise. These networks only allow incoming XMPP traffic to enter their domain. Gestalt’s, now part of Accenture, XMPP Binding Component coordinated a secure VPN to run an exercise. This solution decreased the exercise setup time from months to minutes.
by Travis Chase
[July 30, 2008 | Discuss (0)]

j1-2k8-mtW10: Q&A with James Gosling
In a special, unannounced java.net Community Corner session from JavaOne 2008, Java creator James Gosling offers a wide-open Q&A session. Taking questions from audience members, Dr. Gosling discusses the creation of Java, what might go into Java 7, the future of Micro Edition Java, his thoughts on java.net, his favorite non-Java language, closures, and more
by James Gosling
[July 25, 2008 | Discuss (0)]

j1-2k8-mtW09: Marge: Java Bluetooth Framework
The idea of this Mini-Talk on Community Corner is to show a little about Bluetooth, JSR 82 (Java Apis for Bluetooth) and Project Marge. Tired of big texts, full descriptions, etc? Watch this, this and this!
by Bruno Ghisi, Lucas Torri
[July 23, 2008 | Discuss (1)]

j1-2k8-mtW08: OpenEco
OpenEco is a global on-line community providing free and easy-to-use tools allowing users to assess, track, and compare their energy performance, share proven best practices to reduce greenhouse gas (GHG) usage and encourage sustainable innovation.
by Alex Dethier, August Detlefsen
[July 18, 2008 | Discuss (0)]

j1-2k8-mtW06: API compatibility puzzles
Many Java developers create API libraries for use by applications. Such libraries typically evolve over time, providing more and more functionality with each release. At the same time, it's important to preserve backward compatibility of the API so that the API libraries could be upgraded without any negative effects on existing applications. This session focuses on a series of common API modifications that seem like normal modifications, but can manifest subtle compatibility problems. Attendees will acquire skills to evaluate API changes for backwards compatibility, and how to sidestep compatibility pitfalls. The Java Conformance team at Sun has been part of the API evolution in both Java SE and ME, where preserving backward compatibility is critical to platform success. In this session we'd like to share our experience in this area. A short overview of compatibility problems in general will be presented, as well as the API compatibility puzzles.
by Mikhail Ershov
[July 16, 2008 | Discuss (0)]

j1-2k8-mtW05: Best practices and examples in writing integration logic with OpenESB
SOA is about decoupling application that need to be integrated through the use of services. To achieve a good degree of decoupling two main ingredients are needed: a good middleware and a well written integration logic. This session will show examples and best practices on writing integration logic inside a JBI ESB. Some topics that the session will touch are: -- synchronous vs asynchronous integration -- stateless vs stateful integration For each pattern the session will show a way to implement it using a JBI ESB, discussing advantages and common pitfalls
by Raffaele Spazzoli
[July 11, 2008 | Discuss (1)]

j1-2k8-mtW04: Operating TrackBots using SunSPOTs
This session will show how to use a SunSPOT to control a TrackBot. Attendees will be shown how to take code created using the TrackBotsAndGreenfoot session and send it to a SunSPOT, although attendance at that session is not a prerequisite. Basics of how to compile and deploy for this device will be covered.
by Shawn Silverman
[July 09, 2008 | Discuss (3)]

j1-2k8-mtW03: Comet and Bayeux
Ajax has become quite popular as websites have become richer and richer. Ajax allows a page to periodically request data from the server. Comet, on the other hand, allows the server to push data to the client at any time. Comet applications are starting to redefine the capabilities of Web 2.0 applicaions. Bayeux, which is still in daft, is the first standard to define a comet based transport protocol. This talk will discuss the basics of Comet and Bayeux.
by Kevin Nilson
[July 04, 2008 | Discuss (5)]

j1-2k8-mtW02: BlueJ
BlueJ is the most used educational development environment worldwide. This presentation, by one of the lead developers of BlueJ, shows what BlueJ is, what it can do, and how it may be used in teaching and learning object-oriented programming. BlueJ is widely used at universities, colleges, schools and in OO training.
by Michael Kolling, Davin McCall
[July 02, 2008 | Discuss (0)]

j1-2k8-mtT16: Social Network Application Platform
No description was provided for this mini-talk.
by Bobby Bissett, Manveen Kaur
[June 27, 2008 | Discuss (1)]

j1-2k8-mtT15: Subversion: Merge Tracking, Eclipse Integration, and CollabNet Desktop Edition
Brief Overview of new features in the upcoming release of the open source SCM Subversion including enhanced merge tracking and change set management as well as using CollabNet Desktop Edition within Eclipse to facilitate team based task and change management.
by Brian Dawson
[June 25, 2008 | Discuss (1)]

j1-2k8-mtT14: Java User Groups International Map
Van Riper describes how the JUG Map was created. He also demonstrates how individual JUGs can customize the JUGs Map to embed it in their own JUG pages like one that was set up for Silicon Valley JUGs
by Van Riper
[June 20, 2008 | Discuss (0)]

j1-2k8-mtT13: EDR-MDS A less is more aproach to Master Data Services
Service Oriented Architecture is all over us. There seems to be some kind of consensus that one type of SOa services are domain object repository services - and vendors are monitoring and releasing their SOA Data Server products to close the gap. By pioneering the SOA space with EDR, we quickly had to solve the Master Data challenge in SOA. This talk will discuss the main contenders for the ownership of your business objects definitions, and comment on their consequences - and then follow up with a "less is more" approach to enable companies to gain the combined advantages of all the platforms by extending the EDR pattern to also include Master Data Service features.
by Thor Henning Hetland
[June 18, 2008 | Discuss (1)]

j1-2k8-mtT12: EDR - Master Your Distributed Data
The Enterprise Domain Repository (EDR) pattern recognizes that we are still in the stone age of data integration. EDR is a new pattern gathering these challenges into a service that produces real Domain Objects, while also coping with the complexity of handling disjointed data-sources, back-end performance and mastering strategies. EDR is the result of experiences gained working with .Net and Java customers. Now we want to work with the Community to improve on the usage of this pattern.
by Thor Henning Hetland, Bĺrd Lind
[June 13, 2008 | Discuss (1)]

j1-2k8-mtT11: Introduction to Shoal
Project Shoal is a Java language based dynamic clustering framework that can be plugged into any product for runtime clustering. This mini talk will introduce Shoal's clustering capabilities covering the cluster lifecycle event model and its messaging APIs. Project Shoal is seeing increasing interest in several mainstream and unique projects thus making its use multifaceted beyond the middleware constructs of clustering. Among the known projects using Shoal as their clustering engine are projects such as GlassFish, Sailfin, GreenFire, FishFarm, OpenFire Collaboration Server, etc.
by Shreedhar Ganapathy, Sheetal Vartak
[June 11, 2008 | Discuss (0)]

j1-2k8-mtT09: Java User Group: How to Find One, How to Start One
In this mini-session we will talk about how to find the JUG nearest you. Then, if there is no JUG near you, we'll show you how easy it is to start one and where you can go to find help.
by Dave Klein
[June 06, 2008 | Discuss (1)]

j1-2k8-mtT08: The Return of the JEDI
No description was provided for this mini-talk.
by Daniel deOliveira, Scott Simpson
[June 04, 2008 | Discuss (5)]

j1-2k8-mtT07: What Is Next For Java Educators?
If you teach people to use Java (or if you're invested in the quality of Java education) then this discussion/mini-talk is for you. What's the current state of Java Technology education worldwide? How can we improve Java education? What are the emerging trends? How can we organize to promote better Java Technology education? What approaches can be used to share resources such as lessons, test banks and projects between educators? As educators, what kinds of activities can we plan in preparation for next year's JavaOne? conference? Java Technology education is important to everyone. Participate in this discussion and help raise peoples' consciousness about the importance of the issues.
by Barry Burd, Rom Feria, James Robertson
[May 30, 2008 | Discuss (2)]

j1-2k8-mtT06: Wonderland with Kids
This presentation relates to the World Wide Volunteer Week 2008 Project named "Hello Buddy/Hola Amigo" organized by Gilda and Juan Carlos. The main goal in WWVW project is bridging the digital divide among children by improving their second language. In this particular project, two primary schools, one located in the Bay Area in California and another in Santiago Chile, will be connected via Wonderland, a virtual space developed at Sun Microsystems Laboratories. By using the resources provided by this virtual space, children will communicate with their buddies and practice their second language. Gilda Garreton in the Bay Area and Juan Carlos Herrera in Sun Chile are driving this project.
by Gilda Garreton, Juan Carlos Herrera
[May 28, 2008 | Discuss (1)]

j1-2k8-mtT05: Project Wonderland: Community-built Virtual Worlds
In this session, we will show a number of different virtual worlds built by members of the Project Wonderland open source community members. Each highlights different aspects of the Wonderland platform and the wide range of possibilities open to developers.
by Nigel Simpson, Nicole Yankelovich
[May 23, 2008 | Discuss (1)]

j1-2k8-mtT04: TrackBots, Greenfoot, and the RoboSim Contest: a How-To
This session will describe the basics of how to simulate a TrackBot using the Greenfoot environment. By the end of the session, attendees should understand how to use the robot's sensors to interact with the environment.
by Shawn Silverman
[May 21, 2008 | Discuss (1)]

j1-2k8-mtT03: Effective Teamwork Assessment Using java.net
This mini-talk presents an assessment and comparison of local and global software engineering practices based on a software engineering class jointly taught for the last three years between San Francisco State University (SFSU) and the University of Applied Scienc