> ## Using Java to Write an Event Handler

> Creating a Java event handler is slightly more complex than creating a JavaScript event handler. You cannot simply enter Java code directly in the BIRT Report Designer.

> To create a Java event handler class, you must compile the source for the Java class and make certain that the class is visible to BIRT. Creating a Java event handler for BIRT is simplified, however, by the fact that Eclipse is a robust Java development environment and supports integrating a Java project with a BIRT project.

> #### How to create an event handler class and add it to the Java project

> This section describes the process for using the Eclipse Java development environment to create an event handler class for a scriptable BIRT element.

> 1 | Add org.eclipse.birt.report.engine_<version>.jar to your Java project, as outlined in the following steps:

> 1 | Select your Java project and choose File->Properties->Java Build Path->Libraries. Java Build Path appears, as shown in Figure 24‑1.

> Figure 24-1 | Adding a JAR file to the compiler’s classpath

> 2 | Choose Add External JARs. JAR Selection appears.

> 3 | Navigate to Eclipse /plugins directory. In a default Eclipse installation, this directory is in the following location:

> <ECLIPSE_INSTALL>\eclipse\plugins

> 4 | Select org.eclipse.birt.report.engine_<version>.jar. Choose Open. Java Build Path reappears.

> 5 | Choose OK.

> 2 | Select your Java project and choose File->New->Other. Select a wizard appears.

> 3 | Expand Java and select Class, as shown in Figure 24‑2.

> Figure 24-2 | The Select a wizard dialog

> Choose Next. New Java Class appears, as shown in Figure 24‑3.

> Figure 24-3 | New Java Class

> 4 | Navigate to the folder where you want the Java source file to reside by choosing the Browse button beside Source Folder.

> 5 | If your new Java class is a part of a package, type the fully qualified package name in Package.

> 6 | In Name, type a name for your class.

> 7 | In Modifiers, choose Public.

> 8 | Choose the Browse button beside Superclass. Superclass Selection appears, as shown in Figure 24‑4.

> Figure 24-4 | Superclass Selection

> 9 | In Choose a type, type the name of the adapter class for the ROM element. For example, enter Label EventAdapter for the Label element. Choose OK. New Java Class reappears.

> 10 | Select Generate comments. Choose Finish. A Java editor view appears, similar to the one shown in Figure 24‑5.

> Figure 24-5 | The Java editor

> 11 | Add the event handler method for your new event handler class. Figure 24‑6 shows the addition of an onPrepare( ) method that sets the background color of the label to red.

> Figure 24-6 | The onPrepare( ) method in the Java editor

> #### How to associate a Java class with a report element

> The example in this procedure makes the following assumptions:

> n | The report design includes a scriptable report item, such as a label.

> n | A Java class containing event handler methods for the scriptable report item is visible to BIRT.

> 1 | In Outline, select the report element for which an event handler class is visible to BIRT, as shown in Figure 24‑7.

> Figure 24-7 | Selecting a report element

> 2 | In Property Editor for the selected report element, select Event Handler and enter the fully qualified name of the event handler class, as shown in Figure 24‑8.

> Figure 24-8 | The event handler class name

(c) Copyright Actuate Corporation 2008