Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

terrasearch/JViewModel

Open more actions menu

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

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.