In Part 1 of this series, “A Fresh Look at Embedded Java,” we explored the use of Java for embedded use cases. Azul and its Zulu Build of OpenJDK (Zulu) are the ideal partners in this part of the software …
-
My opinion on the Tauri framework
Tauri is a Rust-based framework for building desktop applications. Here’s my view.
-
Java for desktop applications: Tips and Tricks (Part 1)
Improve your desktop applications with easy-to-apply tips!
-
GlassFish Embedded – a simple way to run Jakarta EE apps
Jan Blavins shares how builds both server component and a client component in his project using the GlassFish Embedded container with little effort.
-
Unconventional Remote Process Control Without Libraries In Java: Presenting X-Pipe
If the user has already installed the programs to connect to remote systems, why not try to use them from Java instead of libraries?
-
The State of JVM Desktop Frameworks: Jetpack Compose for Desktop
previous articles of this series were dedicated to frameworks that adopted the same traditional Object-Oriented-Programming approach. Components were modeled as classes.
This week’s article is dedicated to Jet Compose for Desktop, the new kid on the block that offers a completely different approach.
-
JDKMon: Your Friendly JDK Distribution Updater
JDKMon is just a little tool that scans your computer for installed OpenJDK distributions and uses the Disco API to check whether there are updates available for one of the distributions.
In case it finds updates it will present you buttons for each package it finds.
When you click on one of these buttons (e.g. tar.gz, zip, pkg etc.) you have to select a folder where the selected package should be downloaded to.
-
Custom Controls in JavaFX (Part VII)
The JDK Butler is an app that makes use of the Foojay Disco API to enable you to drill down to a JDK of your choice and download it to your machine. As you can see on the screenshot we have columns where we can select things like major version, version, distribution etc.
Every time you select something, the selected text will be colored in a specific color and you will see a small triangle pointing into the direction of the selected item. So, the question is, how did I create this triangle? To explain this, let me show you some screenshots from my vector drawing program to explain what I did.
-
Custom Controls in JavaFX (Part VI)
Drawing on the Canvas node will directly go down to the graphics hardware, which makes it really fast.
Of course, this also comes with drawbacks because all the things that you draw on the Canvas node are part of that one node.
Meaning to say that if you would like to implement something like mouse interaction, you have to implement the whole mouse interaction on your own (tracking the mouse position, calculate if the mouse is inside/outside of objects you draw, keeping track of objects that should interact with the mouse etc.).
-
Custom Controls in JavaFX (Part V)
Learn how to create a custom control that is based on the JavaFX Region class. The Region class is the class that all JavaFX controls are based on. It is a resizable Parent node which can be styled from CSS.
This is the class that you would want to use when building a JavaFX custom control that is not part of a controls library.
The main difference between the Region and the Control + Skin based approach is the fact that the Region based control contains both, the control logic and the UI where the Control + Skin based control separates the logic from the UI. The logic can be found in the Control and the UI can be found in the Skin.
-
Custom Controls in JavaFX (Part IV)
In this part of the series, I will show you how to create a custom control in JavaFX by using Control and Skin classes.
A custom control created by a Control and Skin class only makes sense if you will provide more than one Skin for your control or if you would like to give people the ability to create their own Skins for your Control.
In any other case, you should choose another approach (e.g., use a Region or Canvas based control).
So, usually, the Control and Skin approach is used in UI libraries where you have one Control with multiple Skins.