Author: Michael Karneim
Project Homepage: https://github.com/mkarneim/beanfabrics
Beanfabrics is a presentation model component framework for building rich clients and desktop applications with Java Swing or SWT. The Beanfabrics framework is free and open source software.
The term presentation model (PM) is the name of a pattern that was introduced by Martin Fowler in 2004. According to Fowler the PM
"represents the state and behavior of the presentation independently of the GUI controls used in the interface".
- The Beanfabrics Wiki contains an overview, a tutorial, and some examples.
- Javadoc API documentation.
- If you understand German you might want to watch a presentation I have given at the TNG headquaters near Munich. Here is a link to the slides.
Beanfabrics provides
- a set of ready-to-use PM components.
- a set of ready-to-use visual presentation view components.
Beanfabrics
- has a mechanism for binding visual components dynamically to specific nodes of the PM.
- is compliant with the JavaBeans specification and supports bean customization within GUI builders like WindowBuilder.
- is a framework to create custom PM and view components.
Beanfabrics is open source, and it is distributed under the terms of the LGPL license.
For more information please read the license file.
Beanfabrics binaries are available at Sonatype OSS Maven Repository and Maven Central. The releases page contains a list of all stable releases with a change log.
<dependency>
<groupId>org.beanfabrics</groupId>
<artifactId>beanfabrics-swing</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>org.beanfabrics</groupId>
<artifactId>beanfabrics-swt</artifactId>
<version>1.5.0</version>
</dependency>
Beanfabrics has only minimal dependencies.
- Java 6
- slf4j 1.7.1
- junit 4.10 (test scope)
- logback-classic 1.0.7 (test scope)
The Eclipse pluing provides a Bindable Component Wizard for creating a custom View component for a given PM component.
It can be downloaded and installed with the Update Manager inside Eclipse. The update site is at https://storage.googleapis.com/beanfabrics-updatesite/site.xml
Beanfabrics can be built with Gradle.
Please make sure to set the Java Home property in gradle.properties to JDK 1.6, since Beanfabrics must not be compiled against JDK 1.7 libraries (rt.jar) in order to ensure backward compatibility to Java 6.
To build Beanfabrics, open your terminal app, change into the beanfabrics
directory and run:
./gradlew build
(on linux / osx)
or
gradlew.bat build
(on windows)