vlcj provides two programming models: a high-level extensible media player component framework designed to cover common use-cases, and; a lower-level API giving you more control over how you create your media players.
The media player component framework provides a composite all-in-one media player and video surface that can be directly added to a user interface layout. These components provide various 'template' methods that you can optionally override to customise the component behaviour to suit your own application. Template methods are also used to provide an easy way to implement media player event handlers.
In contrast, the lower-level API requires a bit more work from you as the application developer. You must create a media player factory, then create a media player, a video surface, add the video surface yourself to your user interface and add your own event listeners.
The media player component framework provides access to the underlying media player and factory objects, so you can still use the lower-level API with the component framework if you want to.
The lower-level API is not actually all that complicated, but undoubtedly the component framework is easier to use and quicker to get started with.
These tutorials concern themselves with the media player component framework.
If you want to use the lower-level API directly, you should consult the