Japura is a Java Swing project. It is an application framework and collection of components.
The project is open source (under the LGPL license).
Contact:
This email address is being protected from spambots. You need JavaScript enabled to view it.
, LinkedIn, Mail List
Feel free to send me your suggestions or feedbacks.
News
next version (2.0.0)
- 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.
- The
LinkedTask and NESTED mode were replaced by the new task methods and TaskSequence class.
- 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
|
|