FXMisc

Miscellaneous JavaFX applications and libraries.

Follow me onGitHub

About FXMisc

FXMisc is an umbrella project for various JavaFX-related projects. The goal is to help developers publish their project the standard way — obeying the package naming conventions and publishing project artifacts to Maven Central Repository. At the same time, you retain complete control of your project. We take no credit or responsibility for your project.

Participating projects

RichTextFX

Rich-text area for JavaFX.

UndoFX

Undo manager for JavaFX.

EasyBind

Factory methods for easy creation of JavaFX bindings using lambdas.

LiveDirsFX

Directory tree model for JavaFX that watches the filesystem for changes.

BackCheckFX

Asynchronous (background-thread) analysis infrastructure for JavaFX.

Flowless

Efficient VirtualFlow for JavaFX.

WellBehavedFX

Composable event handlers and skin skeletons for JavaFX controls.

CSSFX

Hot reloading of CSS in a running JavaFX application.

What exactly does FXMisc offer to a project?

  • Endorsement to use org.fxmisc.yourproject package name.
  • List the project on this site (fxmisc.org).
  • Redirect http://fxmisc.org/yourproject to your project website (hosted e.g. on GitHub).

That's it — no more, no less.

How is that supposed to help?

When publishing a Java project, the package name should follow the convention and start with the reversed domain name of a site you control. If you don't think that your project deserves a dedicated domain name (yet), you may find org.fxmisc.yourproject more appealing than, say, com.github.yourname.yourproject. Also, you probably don't want to rename your packages if you switch to a different project hosting site.

Having control over the http://fxmisc.org/yourproject URL makes you eligible to register your project at the Sonatype repository with groupId org.fxmisc.yourproject.

What projects are eligible for FXMisc?

We don't judge the usefulness or quality of your project. Our only two requirements are:

  1. JavaFX-related. Note that the language is not restricted to Java. Other JVM languages are welcome as well.
  2. Open-source.

How to apply?

Open a new issue labeled "new project" and provide the following information:

  • Project name, e.g. YourProjectFX.
  • Package name, e.g. yourproject. Don't ask for a package name that is too general, like util.
  • Project web site, e.g. https://github.com/yourname/YourProjectFX. We will set up redirection from http://fxmisc.org/yourproject to this site.
  • Project description (optional, max. 250 characters).

How does FXMisc compare to others?

You may consider contributing to other open-source projects like ControlsFX or JFXtras. The difference is that you are not contributing your project to FXMisc. You retain complete control of your project, remember? This gives you more freedom, but at the same time less support.

More freedom

Complete control means that, among other things:

  • We don't judge the quality of your code or documentation.
  • We don't restrict the scope of your project.
  • We don't care whether your project has third-party dependencies.
  • We don't claim any rights to your project.
  • We don't care what license you use (as long as your project is open-source).
  • We don't care what JVM language you use.
  • We don't care where you host your source code.
  • We don't care whether you use Git, Mercurial or anything else.
  • We don't care what build tool you use.
  • It's OK if you later decide that your project deserves its own domain name or that you want to contribute it to another open-source project. There are no strings attached.

Less support

Complete control also means that:

  • You have to write your own build scripts.
  • You have to manage the release cycle yourself.
  • You have to register your project with Sonatype yourself to get your artifacts to Maven Central Repository.
  • You have to create the web presentation of your project yourself.