Skip to content

JViewModel is a library, inspired by C# WPFs ViewModel patterns. It reduces the boilerplate needed to implement MVVM in Java

Notifications You must be signed in to change notification settings

terrasearch/JViewModel

Repository files navigation

JViewModel codecov Java CI with Gradle

is a library, inspired by C# WPFs ViewModel patterns. It reduces the boilerplate needed to implement Model/View/ViewModel (MVVM) in Java, with Java Swing. It simplifies already existing elements, which helps with Swing MVVM infrastructure, at the cost of functionality (for now).

Property

is a variable, which announces it's changes to all subscribers. It is intended to wrap around a Model, or better, a JavaBeans.

Java Swing MVVM

A collection of java swing elements, which are bindable with values through ViewModelProperties.

RevertableProperty

is an extension of ViewModelProperty, which makes them revertable. It tracks all changes with optional timestamps, so you can let the user revert their changes.

ViewModelLocator and DependencyInjector

Decouples View and ViewModel even further with a ViewModel Locator, which gives you the ViewModel for each View through the constructor. Also you can pass functionality through the constructor, like logging.

ViewModel Logger

Logs the changes of given ViewModel. Also has an implementation of Log4j.

Tasklist

  • Property
  • Java Swing MVVM
    • Textfields
    • Buttons
    • CheckBox
    • ComboBox
    • List
    • Spinner
    • RadioButton
    • Slider
    • ProgressBar
  • Data Abstracted List
  • RevertableProperty
  • ViewModelLocator and DependencyInjector
  • ViewModel Logger
  • ViewModel Logger Log4j implementation

About

JViewModel is a library, inspired by C# WPFs ViewModel patterns. It reduces the boilerplate needed to implement MVVM in Java

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages