The Project        Download   Javadoc   SourceForge

Japura is a Java Swing project. It is an application framework and collection of components.

The project is open source (under the LGPL license).

Downloads at http://search.maven.org/

Contact: This email address is being protected from spambots. You need JavaScript enabled to view it. , Mail List
Feel free to send me your suggestions or feedbacks.

News

next version

  • It would be nice to have help with documentation ;-)

03 June 2014 - Japura 2.0.3 available

  • CheckList
    • allowing ActionListener
  • new document model: BigDecimalDocument

29 May 2014 - Japura 2.0.2 available

  • ButtonTextField
    • bug fix: button's change do not set caret to position 0

21 May 2014 - Japura 2.0.1 available

  • Pom fix

03 December 2013 - Japura 2.0.0 available

  • The JARs will be deployed only to Maven repository: http://search.maven.org/
  • The project has been split into 4 modules: japura-util, japura-gui, japura-framework and japura-debug.
  • New class: Context.
  • The framework has been simplified: some unnecessary methods have been removed.
  • Controllers
    • some packages have been rearranged.
    • Controller changed to interface
    • new classes: AbstractController and DefaultController
    • all static methods of Controller have been replaced by methods of ControllerManager
  • Tasks
    • submit and addNestedTask methods renamed to submitTask and submitNestedTask
    • submit methods parameter changed to varargs of Task.
    • new features for TaskDebug
  • MessageManager
    • replace the messages of controllers.
    • Message class has been moved to MessageManager package.
    • new interface Subscriber to allow any class can receive messages.
  • DateDocument: isValid method returns TRUE for empty text value.

25 April 2013 - Japura 1.18.2 available

  • CalendarField
    • bug fix: setEnabled method not working properly.
  • Tasks
    • bug fix: the execution of tasks was consuming 100% of CPU in Java 7.

03 March 2013 - Japura 1.18.0 available

  • project migrated to Maven.
  • New interface: TaskSubmitter.
  • Refactor: ControllerPool renamed to ControllerManager.
  • Controller
    • removed methods: get(Component) and get(Class, Component)

19 September 2012 - Japura 1.17.1 available

  • New interface to apply visual effects to the tasks executions: TaskExecutionUI.
  • TaskManager
    • new methods: getTaskExecutionUI and setTaskExecutionUI.
  • Task
    • new methods: getTaskExecutionUI and setTaskExecutionUI.
  • TaskSessionFactory
    • refactor: TaskSession buildTaskSession(Task) method to TaskSession buildTaskSession(Task, TaskSession). The new parameter represents an offered session that can be returned or replaced.
  • TaskExecutionProgressListener changed to DefaultTaskExecutionUI.
  • CollapsiblePanel
    • bug fix: the popup menu is not being displayed on all platforms.

11 September 2012 - Japura 1.17.0 available

  • New classes: DefaultHandlerExceptionManager, DefaultTaskManager, MockTaskManager, TaskSessionFactory and DefaultTaskSessionFactory
  • New annotation: SessionRequired
  • TaskManager
    • changed to interface
    • new methods: setTaskSessionFactory and getTaskSessionFactory
  • Task
    • removed method: setSession
  • HandlerExceptionManager
    • changed to interface
    • refactor: handle method parameter changed from Exception to Throwable
  • Application
    • new methods: setHandlerExceptionManager, getHandlerExceptionManager, setTaskManager and getTaskManager
  • Controller
    • renamed methods
      • getId to getControllerId
      • canExecute to canSubmit
      • execute to submit
    • removed method: freeAfterExecutions
  • ControllerMock
    • removed method: handleTaskException
  • Removed classes: ControllerMockListener and ControllerMockAdapter
  • Renamed classes
    • PoolListener to ControllerPoolListener
    • PoolAdapter to ControllerPoolAdapter
  • DateUtil
    • refactor: static validate method to concrete isValid method

27 August 2012 - Japura 1.16.1 available

  • New classes: ControllerPool, MockControllerPool and DefaultControllerPool.
  • Application
    • new methods: setControllerPool and getControllerPool.
  • SplitButton
    • bug fix: the first popup buttons perform a button click.

23 August 2012 - Japura 1.16.0 available

  • CollapsibleRootPanel
    • new method: getCollapsiblePanels
  • DateUtil
    • static methods became concretre methods
  • new feature: MessagesDialogs. Thanks Rafael Abrantes.
  • new component: EnhancedPanel.
  • new util: SwingWorkerHandler. Thanks Rafael Abrantes.
  • ControllerMock
    • new method: handleTaskException(Exception exception)
  • TaskSession
    • new methods: get(Class) and put(Object). The key is the object class.
  • SplitButton
    • new methods: showButtonsChooser, addButton(Action), addButtons(List<Action>), removeButton(Action), setButtonVisible(Action, boolean), isButtonVisible(Action), setButtonEnabled(Action, boolean), isButtonEnabled(Action) and setCurrentButton(Action).
    • setButton(String) renamed to setCurrentButton(String).
    • new method clearCurrentButton() to replace the following use: setButton(null)
  • new class: Application

20 May 2012 - Japura 1.15.1 available

  • Tasks
    • helpers for development of visual effects for the execution of tasks.
    • all nested tasks will be canceled and removed if an exception occurs in the doInBackground or willExecuted method. Remember to add the nested tasks again before use the retry method

14 May 2012 - Japura 1.15.0 available

  • Modal
    • bug fix: Not repainting properly after removing the modal.
  • Controller
    • new interface: ControllerModel.
    • removed methods: registerSubscriber, removeSubscriber, removeSubscribers, getSubscribers and getSubscribersCount.
  • Messages
    • removed interface: Subscriber.
    • SubscriberFilter
      • removed method: accepts(Subscriber).
  • Tasks
    • bug fix: hasTask method not working properly for executors with removed tasks.
    • new methods: addNestedTask and getNestedTasks.
    • new classes: TaskSequence and TaskSession.
    • removed classes: LinkedTask and MODE.
    • removed methods: setMode(Mode), getMode and removed.
    • possibility to use unit testing.
  1. The LinkedTask and NESTED mode were replaced by the new task methods and TaskSequence class.
  2. The method to set the asynchronous mode was replaced by the new method to execute tasks.

02 February 2012 - Japura 1.14.5 available

  • SplitButton
    • bug fix: setButton method not removing last ActionListeners with NULL parameter.
    • new feature: separator between buttons.

30 January 2012 - Japura 1.14.4 available

  • Controller / TaskManager
    • bug fix: when a controller of a group is released, the other controllers in the same group does not execute more tasks.
  • SplitButton
    • bug fix: setButton method not working properly with NULL parameter. Thanks Jan Vos.
  • ToolTipButton
    • bug fix: not working properly with HTML texts.

29 November 2011 - Japura 1.14.3 available

  • CheckList
    • bug fix: keyboard command CTRL+C not working properly (only for cursor mouse over on a checked item).
  • CheckListTransferHandler
    • new methods: getComparator and setComparator to order the transferable list.
  • CheckListRenderer
    • new methods: setHighlight and getHighlight.
  • DefaultListCheckModel
    • bug fix: accepting lock and check elements not contained in the model.

04 November 2011 - Japura 1.14.2 available

  • ButtonTextField
    • new listener: ButtonTextFieldListener to detect button selection changes.
  • Controller
    • removed annotation: DisposeAction.
    • new methods: beforeFreeController and afterFreeController.

06 October 2011 - Japura 1.14.1 available

  • New class: AbstractComboBox
  • CheckComboBox
    • extending from AbstractComboBox.
    • setItemsChooserVisible method renamed to setPopupVisible
    • n
    • isItemsChooserVisible method renamed to isPopupVisible
  • Controller
    • new methods: isRemoved and createDebugPanel.
  • TaskManager
    • new method: createDebugPanel.

04 September 2011 - Japura 1.14.0 available

  • Controller
    • feature to restrict a child controller be only obtained by the group.
    • feature to link two controllers.
    • bug fix: isRoot method not working properly.
  • CheckList
    • adding DragAndDrop feature
    • new classes: CheckListTransferHandler and CheckListTransferable
  • Tasks
    • new execution mode: asynchronous
    • one executor for each controller group
    • new class: Mode
    • AbstractTask
      • removed methods: isNested and setNested
      • new methods: setMode and getMode

20 August 2011 - Japura 1.13.0 available

  • Tasks
    • new classes: LinkedTask, ControllerWrapper, CallableWrapper and RunnableWrapper
    • new features
      • nested tasks
      • retry function
      • task debug window
    • refactor
      • org.japura.task.Task.HandlerExceptionParameters moved to org.japura.exception.HandlerExceptionParameters
    • Task
      • refactor
        • handleException(Exception exception, Integer taskGroupId) changed to handleException(Exception exception)
      • new methods: removed, getControllerWrapper, setNested(boolean nested), retry, cancel, isRemoved, isCanceled, isNested, isExecuted, setName(String name) and setException(Exception ex)
    • TaskManager
      • removed methods: execute(Integer taskGroupId, String message, Task task) and execute(Integer taskGroupId, Task task)
      • new methods: submit(AbstractTask task), cancelAll, getQueueCount, hasTaskRunning and showDebugWindow
  • Controller
    • refactor
      • execute(String, Task) changed to execute(AbstractTask, String)
      • org.japura.controller.TaskExecutionProgress renamed and moved to org.japura.task.listener.TaskExecutionProgressListener
    • new methods: execute(AbstractTask task), executeAndFree(AbstractTask task, String message), executeAndFree(AbstractTask task), taskExecutionError(AbstractTask task), canExecute(AbstractTask task) and cancelExecutions
    • removed methods: freeAfterCurrentExecution

18 July 2011 - Japura 1.12.5 available

  • CheckComboBox and CheckList
    • bug fix: not working properly with Substance look and feel
    n

29 June 2011 - Japura 1.12.4 available

  • DateUtil
    • new methods:
      • toString(DateMask mask, DateSeparator separator, long date, TimeZone timeZone)
      • toString(Locale locale, DateSeparator separator, long date, TimeZone timeZone)
  • ArrowButton
    • new buttons: FIRST and LAST

10 May 2011 - Japura 1.12.3 available

  • CheckComboBox
    • bug fix: setForeground and setBackground methods not working properly
    • new feature: embedded component
    • renderer refactor: painting the background of the item under the mouse cursor
  • New component: BatchSelection to be used as embedded component in CheckComboBox

28 April 2011 - Japura 1.12.2 available

  • Controller - Message
    • new interface: Subscriber
    • new methods: registerSubscriber, removeSubscriber, removeSubscribers, getSubscribers and getSubscribersCount
  • CheckComboBox
    • removed methods: setMultipleItemsText and getMultipleItemsText
    • new methods: getTextFor, setTextFor and removeTextFor

26 April 2011 - Japura 1.12.1 available

  • CheckComboBox
    • bug fix for all look and feels
      • popup items not working properly (need two clicks to show again)
      • component not painting properly
    • refactor
      • removed renderer: CheckComboBoxRenderer
      • new renderer: CheckListRenderer
      • removed methods: setSelectionBackground, getSelectionBackground, setMargin and getMargin
      • new methods: setPrototypeDisplayValue, getPrototypeDisplayValue, setVisibleRowCount and getVisibleRowCount
  • Controller - Message: allows the publisher to receive your own messages

18 April 2011 - Japura 1.12.0 available

  • New component: LinkLabel
  • ArrowButton:
    • bug fix: no disabled foreground color
    • new feature: actionListeners
    • new constructor: arrow size is available
  • Controller:

    new features:

    • messages between controllers (publish/subscribe/filters)
    • DebugWindow

    hierarchy refactor:

    • methods renamed:
      • getTopController to getRoot
      • getTopController(int groupId) to getRoot(int groupId)
      • getUpControllerId to getParentId
    • new methods:
      • getParent
      • getChildren
      • getChildren(Class clss)
      • getChild(Class clss)
      • getChild(int id)
      • isChildInstancied(Class cls)
      • isRoot
    • free method: remove children controllers too

03 March 2011 - Japura 1.11.1 available

  • TitlePanel(bug fix): getMinimumSize method not working properly
  • Calendar refactor:
    • added: PropertiesProvider and DefaultPropertiesProvider
    • CalendarProperties moved to DefaultPropertiesProvider

26 February 2011 - Japura 1.11.0 available

  • New document model: DateDocument
  • New components:
  • SplitButton - new methods:
    • setButtonVisible
    • isButtonVisible
  • Controller - new methods:
    • getWindowAncestor
    • requestWindowFocus
    • isWindowFocused
    • requestFocus
    • isFocused

18 January 2011 - Japura 1.10.10 available

  • CheckComboBox (bug fix): setEnabled method not working properly
  • PaintedPanel - new methods:
    • removeBackgrounds
    • addBackground(Color color)
    • removeBackground(Color color)
  • TitlePanel:
    • bug fix: top border not painting properly
    • refactor: getTitleMargin and setTitleMargin methods now uses Insets object
    • new methods:
      • setTitleGaps
      • getGapBetweenIconAndTitle
      • getGapBetweenTitleAndTitleComponents
      • getGapBetweenTitleComponents

03 January 2011 - Japura 1.10.9 available

  • DefaultPriorityComboBoxModel: setMinimalSizeForPriority accepts value from 1
  • IntegerDocument and DoubleDocument: accepts only values between minimum and maximum values

23 December 2010 - Japura 1.10.8 available

  • DefaultListCheckModel: accepts repeated elements
  • CollapsiblePanel
    • new constructor without parameters
    • new methods:
      • removeExtraButtons
      • setExtraButtons
      • removeIcon
      • setIcon

02 December 2010 - Japura 1.10.7 available

  • CheckList: PopupMenuBuilder interface to define popup menus
  • ListCheckModel: new methods
    • getLocksCount
    • getChecksCount
    • checkAll
    • lockAll
    • removeChecks
    • removeLocks

08 November 2010 - Japura 1.10.6 available

  • CollapsibleRootPanel (bug fix): remove and removeAll methods not working properly
  • CheckComboBox: popup's size with at least the size of the combobox
  • New document model: IntegerDocument
  • New document model: DoubleDocument

23 July 2010 - Japura 1.10.5 available

  • DefaultListCheckModel (bug fix): clearLockeds method not removing the locked objects
  • CheckComboBoxRenderer: changed to extend ListCellRenderer
  • n
  • DefaultCheckComboBoxRenderer: changed to extend CheckListRenderer

15 July 2010 - Japura 1.10.4 available

  • TaskExecutionProgress (bug fix): NullPointerExeception for nonexistent identifier's task execution of controllers.

01 July 2010 - Japura 1.10.3 available

  • PaintedPanel: new method: removeBackground
  • Modal: allows apply modal to a JInternalFrame
  • DynamicList: new method: setItem
  • SplitButton: new methods: isButtonEnabled, getSelectedButton, getRenderer and setRenderer
  • New renderer: SplitButtonRenderer

22 June 2010 - Japura 1.10.2 available

  • DynamicList: new method: getItem
  • ListCheckModel changes:
    • extends ListModel
    • added lock methods to disable items
    • new listeners: ListLockListener and ListModelListener
    • new event: ListEvent

17 June 2010 - Japura 1.10.1 available

  • Modal bug fix: the depth of the last added component was maintained for the previous components.
  • ButtonTextField:
    • new method: setIconCursor
    • default icon cursor: Cursor.HAND_CURSOR

08 June 2010 - Japura 1.10.0 available

  • New component: CheckList
  • New component: CheckComboBox
  • DynamicList: new method getAvailableItemsCount
  • TaskManager: changed to accept multiple listeners
  • Controller:
    • freeAfterExecution method renamed to freeAfterCurrentExecution
    • new method: freeAfterExecutions
    • DefaultTaskManagerListener renamed to TaskExecutionProgress
    • TaskExecutionProgress is no longer added automatically.
    • removed deprecated method: create
    • removed static method: getAllFramesAncestor
    • removed static method: getFramesAncestor(int groupId)
    • removed method: getFrameAncestor
    • added modal group name feature
  • Modal:
    • allows apply modal to a JDialog
    • can choose the depth of the modal
    • ModalEvent changes:
      • constructor parameter: JFrame to RootPaneContainer
      • method getFrame to getRootPane
  • Changes in packages of classes.

    Classes:

    • org.japura.gui.CollapsiblePanelEvent
    • org.japura.gui.CollapsiblePanelListener.java
    • org.japura.gui.PriorityComboBoxEvent
    • org.japura.gui.PriorityComboBoxListener
    • org.japura.gui.PriorityComboBoxRenderer
    • org.japura.gui.PriorityComboBoxModel
    • org.japura.gui.DefaultPriorityComboBoxModel

    Moved to:

    • org.japura.gui.event.CollapsiblePanelEvent
    • org.japura.gui.event.CollapsiblePanelListener
    • org.japura.gui.event.PriorityComboBoxEvent
    • org.japura.gui.event.PriorityComboBoxListener
    • org.japura.gui.renderer.PriorityComboBoxRenderer
    • org.japura.gui.model.PriorityComboBoxModel
    • org.japura.gui.model.DefaultPriorityComboBoxModel

17 May 2010 - Japura 1.9.0 available

03 May 2010 - Japura 1.8.0 available

14 April 2010 - Japura 1.7.1 available

  • I18nManager: the unnecessary getStringKeys method has removed
  • Inner: renamed to ChildController
  • Controller: create method renamed to createChild
  • ExceptionWrapper: has removed
  • HandlerException: handle(ExceptionWrapper wrapper) method refactored to handle(Exception exception, HashMap<String, Object> parameters)

10 April 2010 - Japura 1.7.0 available

  • Task: the done method is not more abstract. The default implementation does nothing.
  • New component: LabelSeparator

Util

Partners / Users









Jeboorker