BlueJ offers an extension API that allows third parties to develop extensions to the environment. Extensions offer additional functionality not included in the core system.
BlueJ 5.0.0 has a rewritten extensions API explained here. This page still exists for those interested in extensions for BlueJ 4 and older only.
Extensions are installed by placing the extension jar file into an extension directory. BlueJ has three separate locations for extensions, each giving the extension a different scope. The locations are:
Location | Availability |
<BLUEJ_HOME>/lib/extensions (Unix), or <BLUEJ_HOME>\lib\extensions (Windows), or <BLUEJ_HOME>/BlueJ.app/Contents/Resources/Java/extensions (Mac, Control-click BlueJ.app and choose Show Package Contents) |
For all users of this system in all projects. |
<USER_HOME>/.bluej/extensions (Unix),
or
<USER_HOME>\bluej\extensions (Windows), or <USER_HOME>/Library/Preferences/org.bluej/extensions (Mac) |
For a single user for all projects. |
<BLUEJ_PROJECT>/extensions |
For this project only. |
To find out how to write your own extensions for BlueJ 4 and earlier, read the Guide to Writing Extensions for BlueJ. You will also need the BlueJ Extension API documentation.
Description: | This extension adds a menu item to projects which deletes all .class and .ctxt files from the project, as well as the (generated) doc folder. This avoids some confusion when using a BlueJ project directly in other IDEs such as NetBeans. |
|
Limitations: | After cleaning a project, the class diagram is not updated to reflect the missing .class files. You must either close and re-open the project, or use Tools/Rebuild Package menu item to force re-compliation. |
|
Author: | Bluej Team (Ian Utting) | |
Download: |
CleanProjectExtension.jar | |
Sources: |
CleanProjectExtension-src.zip |
Description: | INGInious is a webapp and a BlueJ extension which allows students to submit, and receive instant feedback on, BlueJ projects. It is Free and Open Source. |
|
Author: | Anthony Gégo and Guillaume Derval. Université catholique de Louvain. Belgium | |
Web site : |
http://inginious.org/ |
Description: | 'Simple GUI Extension' is an extension for fast GUI design, not only for beginners. It contains list of basic swing components which you can add using drag and drop. It is possible to set some properties and events via the properties table. It is also possible to set components' size and position through mouse dragging or to change foreground or bacground color via pop-up menu. Menu generator is also included. |
|
Author: | Tomáš Svatek, University of South Bohemia, České Budějovice, Czech Republic | |
Web site : |
http://gbluej.slunecnisoustava.eu/ |
Description: | The PMD Extension for BlueJ is a wrapper for the open source code analysis utility PMD. This extension gives the BlueJ user a handy way to quickly run the PMD source code analyzer on a Java class in BlueJ. It adds a PMD menu item to the BlueJ class menu. PMD finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, duplicated code, and so forth. This extension works with any version of PMD and works under Linux or Windows. |
|
Authors: | Ted Mittelstaedt, from an original by Tom Copeland | |
Web site : | https://github.com/pmd/pmd-bluej |
Description: | An improvement over the original UML Extension, this one allows you to show more than one class display, and to move class displays around the screen. Available in English and German. |
|
Author: | Michael Steinhuber | |
Web site : |
http://klassenkarte.steinhuber.de |
Description: | This BlueJ extension allows you to easily manage (i.e. create, import/export and switch between) multiple BlueJ projects. Some neat features help you to auto-position package windows or to handle bunches of jar files economically (e.g. when correcting students' exercises). |
|
Author: | Manuel Haim | |
Web site : |
http://multiproject.sf.net |
Description: | The Roles of Variables BlueJ extension is based on Sajaniemi's Roles of Variables theory, which describes the common ways in which variables are used in programming. The extension allows users to annotate their programs with labels based on these roles, and uses an automated system to check whether the actual use of the variable is consistent with that role assignment. The download is a zip file containing the extension JAR file ( |
|
Author: | Craig Bishop and Colin Johnson (University of Kent) | |
Download: |
rolesOfVariables.zip |
Description: | CNU BlueJ formatter is a BlueJ extension that integrates Eclipse's code style formatting capabilities into BlueJ's editor. The formatter adds a "Format" button to the editor, and formats compiled source code according to a set of style properties specified in a properties file. These properties can be customized using a simple dialog interface accessible from BlueJ's Preferences option. For convenience, the formatter comes with an installation executable JAR file. Note: Requires BlueJ 2.2.1 or later. |
|
Author: | Roberto Flores, Christopher Newport University |
|
Web site: |
http://cnubluej.pcs.cnu.edu/ |
Description: | An extension to make it easier to work with the objectdraw library. If any class in a BlueJ class diagram extends the objectdraw Note: Requires BlueJ 2.2.0 or later. |
|
Author: | Tom Murtagh (with help from Ian Utting's ACM Invoker code) | |
Download: |
objectdrawinvoker.jar |
Description: | A simple extension which compiles and deploys programs using the JeLOS operating system for Lego NXT robots from BlueJ. When you right-click on a class in the class diagram you get a menu item which can be used to either just comile all files or upload the program to the robot (and even run it). |
|
Author: | David Bowes, University of Hertfordshire |
|
Web site: |
http://homepages.feis.herts.ac.uk/~comqdhb/lego/bluej.php |
Description: | An extension to allow direct invocation of a |
|
Author: | BlueJ team (Ian Utting) | |
Download: |
MainRunner.jar |
Description: | Supports colour printing of source code from within BlueJ using the syntax colouring used in BlueJ's editor. This new version not only sends source code to printers, but also saves HTML or RTF to files, for inclusion in course notes or slides. The extension adds a new "Print" menu item to the context menu of classes in the BlueJ Class Diagram. It obeys the colour settings in the file The downloadable Jar file includes the source code of the extension, please tell Marc about any additions or improvements you make. |
|
Author: | ||
Download: |
The 12 Oct 2007 version. |
Description: | An extension to make it easier to work with the ACM Java Task Force library. If any class in a BlueJ class diagram implements the Note: Requires BlueJ 2.2.0 or later. |
|
Author: | BlueJ team (Ian Utting) | |
Download: |
ACMInvoker.jar |
Description: | Allows submission of projects to specified address via email (including secure SMTP), ftp, http(s) or file copy. Highly configurable. Note: There have been four maintenance releases since the major release on 16 Jan 2007. The first (2 Feb 2007) de-cluttered the preference panel and fixed a significant information leak in the https implementation. The second (12 Sep 2007) fixed a sever problem with email-based submission when using Java 6. The third (25 Sep 2007, which shipped with BlueJ 2.2.1) fixed a character-set problem with FTP passwords. The fourth (21 Oct 2008, which shipped with BlueJ 2.5.1) added support for a sortable |
|
Authors: | BlueJ team (Ian Utting, Damiano Bolla, Cecilia Vargas) | |
Documentation: | Submitter documentation | |
Download: |
The 21 Oct 2008 version . Install by overwriting the existing submitter.jar in your BlueJ installation with this new version. |
Description: | Allows automated checking of coding styles. Coding styles can be specified flexibly in an external file. This is a major update to this extension, including:
|
|
Author: | Rick Giles and Stephen Edwards | |
Documentation: |
http://bluejcheckstyle.sourceforge.net/ | |
Download: |
The latest version from sourceforge |
Description: | Env3d is a 3D engine written in Java aimed at students of computer science. This engine makes it very easy to visualize objects and create 3D applications. Using the BlueJ extension, students can literally create an object and "drop" it into a graphical 3d environment. Texture mapping and model loading (.obj format) are supported. When used standalone, students can create animation and fully interactive environment. An example of the "world-of-zuul" in 3D is included. Feedback and comments are very welcome. |
|
Author: | Jason Madar, Capilano College, British Columbia, Canada | |
Web site: |
http://env3d.org/beta/ |
Description: | Provides a wizard which guides the user through the process of adding a Design Pattern or binary class relationship to a BlueJ project. The user can select a pattern or relationship and choose specific names for the component classes. A set of basic classes are then generated. The classes have sufficient code out-of-the-box to allow exploration of the behaviour with no additional coding. They can then be edited to meet the requirements of specific problems. A selection of patterns and relationships is provided, and other patterns can be defined using XML files and added into the extension. |
|
Authors: | Michael Nairn, Jim Paterson and John Haddow, Bell College and Glasgow Caledonian University | |
Web site: |
Description: | The "Class Wizard" enables BlueJ users to quickly and easily create or edit classes and class' components (attributes, methods, constructors, and so on) using the syntax of UML. The Wizard can be used before or after creating classes and editing their source code in the BlueJ text editor. Note: There are two versions of this extension, depending on which version of Java you are using. |
|
Authors: | Korean BlueJ Users Group (KBUG) | |
Download: |
ClassWizard.jar for
Java 5
|
Description: | Displays a simple popup for a BlueJ class in the form of a UML Class icon. Details of what will be displayed, and the precise syntax used can be configured via the preferences panel, or the BlueJ properties files. |
|
Authors: | BlueJ team (Ian Utting) | |
Documentation: | Here | |
Download: |
UMLextension.jar (if necessary, right-click and 'Save...') |
Description: | The BlueJ extension manager checks whether updates are available for any installed extensions. It can also check for availability of new extensions, and lets you install or delete extensions. Note: prior to BlueJ 3.0.6, this extension also checked for updates to BlueJ itself. This function is no longer available, but users can find out whether a newer version of BlueJ is available using the Help/Check Version menu item in BlueJ. |
|
Authors: | BlueJ team Kent (Ian Utting, Damiano Bolla) | |
Documentation: | Documentation for users and documentation for extension writers | |
Download: |
extmgr.jar (if necessary, right-click and 'Save...') |
Description: | The BlueJScript extension is a JavaScript interpreter embedded in a BlueJ extension. You can use it to rapidly prototype your own extensions, or to produce truly interactive HTML-based BlueJ tutorials like Purple Cow or BlueJScript Shapes To try them out, download and install the extension, then download and unzip a tutorial and open it as a BlueJ project. (Note: the BlueJScript Shapes tutorial contains audio, and won't work on a system not equipped to handle Java audio). |
|
Authors: | BlueJ team Kent (Damiano Bolla, Ian Utting) | |
Documentation: | Documentation for script authors | |
Download: |
bluejscript.jar (if necessary, right-click and 'Save...') |
Description: | Jeliot 3 is a Program Visualization application from the University of Joensuu, Finland, and the Weizmann Institute, Israel. See the Jeliot web page. This extension integrates Jeliot in BlueJ. | |
Authors: | Antoine Pineau, Niko Myller, Andrés Moreno and the Jeliot team | |
Documentation and download: |
http://cs.joensuu.fi/jeliot/downloads/bluej.php |
Description: | Extension to open, edit, and save projects from/to a server with a sftp daemon without having to know how to use Unix. The extension tries to mimic traditional file dialogs. | |
Author: | Jonathan Chapman, Appalachian State University | |
Documentation and download: |
http://www.cs.appstate.edu/projects/rfm/ |
Description: | An editor that allows the manual creation of sequence diagrams, and links in with BlueJ. Updated September 2006 to work with more recent versions of BlueJ (my fault, not theirs) by Ian Utting. | |
Authors: | Matilda Östling, Jürgen Börstler | |
Documentation: | (included in download) | |
Download: |
SD_Editor.zip (includes documentation and source code) |
Description: | Supports automatic generation of getter and setter methods, as well as a GUI dialog to use these methods to edit an object's state. | |
Authors: | Milton Jesús Vera Contreras | |
Download: |
GetterSetterExtension.jar | |
Sources: |
GetterSetterExtension-src.zip |