Tagged "Java"

JavaFX Nodes versus Canvas

Last week I was working on a blog post about Azul Zulu with JavaFX support for ARM systems, like the Raspberry Pi. As you can see in this video, I found out my little test application with a lot of “bouncing balls” started losing performance on the Raspberry Pi with more than 1000 of those balls.

JavaFX Links of June 2024

Here is the overview of the JavaFX LinksOfTheMonth of June 2024, published on jfx-central.com during this month. Core New JavaFX 23 Early-Access Builds are available on jdk.java.net/javafx23. Friedhold Matz shared a screenshot showing that WebView in JavaFX 22 now works with GraalVM 22+36.1. Applications Christopher Schnick shared screenshots: “XPipe 9.4 comes with a JavaFX markdown view for notes that works through the WebView.

JavaFX In Action with Robert Ladstätter about LogoRRR, a cross-platform log analysis tool

In the next video in this “JFX In Action” series, I talked with Robert Ladstätter about LogoRRR, an application written with Scala and JavaFX. About Robert Ladstätter Robert is Group Leader for the Software Team at Nextsense GmbH (part of Hexagon) and develops software with Scala and JavaFX. You can find him on Twitter and LinkedIn.

Links of the BeJUG Presentation: Lessons Learned from #JavaOnRaspberryPi

These are all the links of my presentation at BeJUG in Waregem, Monday, July 24, 2024. Lessons Learned from JavaOnRaspberryPi, the Potential of Bits and Bytes, Cost and Eco-Efficiency I started experimenting with Java on the Raspberry Pi a few years ago because I wanted to learn if I could control electronic components with my favorite programming language.

JavaFX In Action with Christopher Schnick about XPipe, an app to manage all your servers

In the next video in this “JFX In Action” series, I talked with Christopher Schnick about XPipe. About Christopher Schnick Christopher is a software engineer with experience in the Java ecosystem and desktop application development. He is passionate about designing innovative solutions for end users and learning new technologies and tools when needed.

JavaFX In Action with Daniel Zimmermann about JavaFX and Kotlin

For the second video in this “JFX In Action” series, I talked to Daniel Zimmermann. He got my attention when he recently tweeted: “To your dismay I have to tell you I write all my desktop applications using Kotlin and JavaFX”. Why is he a big Kotlin AND JavaFX fan? I asked him and got a demo of the network test application that he is working on.

JavaFX In Action with Pedro Duque Vieira, aka Duke about Hero, PDFSam, FXThemes, FXComponents,...

People who follow me, know I have a big love for JavaFX. It’s my go-to for every desktop user interface application I build. I love the simplicity of quickly creating an app that makes full use of the “Java powers” to build both multi-threaded “backend services” combined with a beautiful-looking UI into one executable.

JavaFX Links of May 2024

Here is the overview of the JavaFX LinksOfTheMonth of May 2024, published on jfx-central.com during this month. Core When Johan Vos shares his notes, you may want to keep on eye on them…: “While working on Java on Mobile, I keep my notes here (best viewed with lynx). This is not user/developer documentation, but people interested/familiar with OpenJDK building might keep an eye to see how far we are.

Book review - Frontend Development with JavaFX and Kotlin

For a personal pet project, I started experimenting with JavaFX and Kotlin to create a user interface with a lot of Java / Kotlin background processing. As I knew there is a book available on this specific topic, Apress was so kind to send me a review copy of Frontend Development with JavaFX and Kotlin: Build State-of-the-Art Kotlin GUI Applications by Peter Späth (152 pages, 48€ on paper, 35.

JavaFX Links of April 2024

Here is the overview of the JavaFX LinksOfTheMonth of April 2024, published on jfx-central.com during this month. Core Gluon published new releases of JavaFX: 22.0.1 and the LTS releases 17.0.11 and 21.0.3. You can get them from Maven Central and the Gluon website. The new builds of Java and JavaFX, that were released this week, contain several fixes related to Common Vulnerabilities and Exposures (CVE), see for example the release notes of Azul Zulu.

JavaFX Links of March 2024

Here is the overview of the JavaFX LinksOfTheMonth of March 2024, published on jfx-central.com during this month. Components, Libraries, Tools Pedro Duque Vieira integrated this pull request in FXThemes: “True Dark Mode is now also available on Mac. All thanks to Carl Dea. Not new, but siedlerchr pointed us on EasyBind: “Leverages lambdas to reduce boilerplate when creating custom bindings, providing a type-safe alternative to Bindings.

Example Java Application with Embedded Jetty and a htmx Website

I was experimenting with a Java application that can act as a web server and includes the user interface HTML-files that get modified with htmx, to replace certain parts of the HTML with other ones created in Java. I found it pretty hard to understand how to configure the embedded Jetty webserver, but as always with Java libraries, it’s pretty easy once you understand how to do it ;-) I decided to share my example, so you don’t need to go through the same search if you want to use the same approach…

Search in Documentation with a JavaFX ChatGPT-like LangChain4j Application

At the Fosdem conference in Brussels on February 3rd, I gave a presentation about using an existing documentation set as the data for a ChatGPT-like application, created with JavaFX and LangChain4J. The video and links of that presentation are available here, and this post is a more detailed explanation of that application.

JavaFX Links of February 2024

Here is the overview of the JavaFX LinksOfTheMonth of February 2024 that got published on jfx-central.com during this month. Core Christopher Schnick shared a video: “The JavaFX 22 platform preferences API in action. You can now query and observe the system color schemes.. Gluon announced that new EA releases for the upcoming JavaFX 22 (22-ea+28) and JavaFX 23 (23-ea+3) platforms are available for download from gluonhq.

Links of the Presentation: Experimenting with AI and LLM to make docs searchable through a chat application

These are all the links of my presentation at the Fosdem Conference in Brussels, Saturday, February 3th, 2024, 17:40 CET. Experimenting with AI and LLM to make docs searchable through a chat application ChatGPT is considered to bring the end to search engines. But it’s also a pretty good liar, just making stories up.

Links of the Presentation: What I Learned About OpenJDK As a Docs Writer

These are all the links of my presentation at the JChampions Conference, Monday January 29, 2024, 16:00 CET. What I Learned About OpenJDK As a Docs Writer As a teenager, a Commodore 64 and DIY solder kits ignited my passion for computers and electronics. But for some obscure reason, I chose an unexpected path by attending film school.

JavaFX Links of January 2024

This is the first JavaFX LinksOfTheMonth review for 2024, an overview of the LinksOfTheWeek that got published on jfx-central.com during January. Core JavaFX 21.0.2 (January 2024) is available on the Gluon website. Applications Robert Ladstätter added ZIP file support to LogoRRR: “No more unzipping before analysing your latest bugs from ops!

JavaFX Links of December 2023

This is the final JavaFX LinksOfTheMonth review for 2023. It was an amazing year with many evolutions in Java and JavaFX and a complete “fresh” version of JFX Central. Thanks for following these updates and looking forward to more of your JavaFX work in the new year… This is the overview of the LinksOfTheWeek that got published on jfx-central.

Interviews at the J-Fall 2023 Conference

I had a lot of interesting talks with Java experts since I started producing the Foojay Podcast. But when I asked the organizers of the J-Fall conference, if I could do some kind of live broadcast at their event, I hadn’t imagined it would be such an amazing experience! During the day I had 29 interviews, which I all broadcasted live on multiple websites (YouTube, LinkedIn, and Twitter) with the amazing restream system.

A JavaFX Game Application in a Single Java File with JBang and FXGL

FXGL is a framework to easily create JavaFX-based game applications. In this blog post, I want to show you how this can be done within a single Java-file which doesn’t need a full Maven or Gradle project but can be executed directly with JBang without compilation. This approach can be used as an easy way to get new Java(FX) developers started or create your first experiments with FXGL.

Book review - Modern frontends with htmx

People who follow me, probably know I have a big love for user interface development with JavaFX (for desktop), and Vaadin (for browser). But as always, there are different solutions for every challenge, and building a web user interface with Java can be done with other frameworks. htmx seems to be one of those hot new rising stars, and I already wanted to dive deeper into it, but didn’t find the time yet.

JavaFX Links of November 2023

Have fun with this overview of the “JavaFX LinksOfTheWeek” that got published on jfx-central.com during November. Core Carl Dea shared: “JavaFX 22 will be supporting platform specific settings! E.g. dark and light mode etc.”. See JDK-8319138: Platform preferences API. Also worth following: JDK-8305116: “Frosty / Milky / diffuse transparency areas showing desktop background” Dirk Lemmermann is looking forward to the next release of JavaFX: “We can hope to see CSS transitions, themes, and Platform API (dark mode, accent colors).

JavaFX Links of October 2023

Thanks to the Devoxx conference, there are many hours you can spend on JavaFX-related videos! But as every month, there is a lot more to read and learn about JavaFX… Have fun with this overview of the “JavaFX LinksOfTheWeek” that got published on jfx-central.com during October. Core Last month Java and JavaFX 21 were released.

Running a CRaC Java application on Raspberry Pi - UPDATE

On July 15th of 2023, I published a post here about my initial experiments with CRaC on the Raspberry Pi. At that time, I found out that both the Linux kernel in Raspberry Pi OS and the Zulu Build of OpenJDK still needed some changes to work on the Raspberry Pi.

Controlling LED strips with Java

One of the most “fancy” electronic components is definitely a LED strip. It’s really cool to control a long strip of lights with only a few lines of code… But, there is a problem. The timing of the signals is crucial to reliably control these strips. Both Python and Java on a Raspberry Pi can struggle with these timings as they are running on Linux, a non-real-time operating system.

Links of the Presentation: Unlocking the Potential of Bits and Bytes

These are all the links of my presentation at Devoxx Belgium, Wednesday 12:00-12:50, Room 7. Unlocking the Potential of Bits and Bytes: Reducing Data Footprint for Cost and Eco-Efficiency In the age of unlimited storage space, we forget to consider the financial and ecological costs. Transmitting and storing data in XML, JSON, or (if you want to hurt people) YAML makes data human-readable, which is great for debugging and testing but is a very inefficient, heavy, and expensive way of handling data.

JavaFX Links of September 2023

This month OpenJDK and OpenJDK 21 got officially released, so links to the new downloads but also to the early access builds of the next one! Here is the overview of the JavaFX LinksOfTheWeek that got published on jfx-central.com during September. Core Announcement by GluonHQ: “We’re proud to announce JavaFX 21 GA.

Java 21 - JEP 445 - Unnamed Classes and Instance Main Methods

Java 21, released on September 19th, 2023, brings many new features, 8 which are fully integrated and 7 which are incubator or preview. In this post I want to highlight one of those preview features: Java Enhancement Proposal (JEP) 445: “Unnamed Classes and Instance Main Methods”. It’s a preview feature, meaning you need extra flags to use it.

New User Interface for JFX Central, the Home for All JavaFX Information

Just like Foojay wants to be the starting place for all info related to Java, JFX Central is the place to be for all JavaFX info. The website is a project started by Dirk Lemmermann and has been online since 2021. The team has expanded since then, and the content has been extended, partially by the team, but also thanks to many contributors from the JavaFX community.

JavaFX Links of August 2023

I’ve taken a holiday this month, so probably missed a lot of the amazing JavaFX news, but still some things caught my attention and you can find them in this LinksOfTheMonth overview. But the most essential and thrilling news is the release of the new version of jfx-central.com! A complete new home for “all things JavaFX” thanks to the amazing work of a whole team of JavaFX enthousiast.

Pi4J Operating System for Raspberry Pi

Yes, the Raspberry Pi Operating System is awesome! But the Pi4J project made it if even more awesome by adding “goodies” for Java developers! Pi4J OS is not yet another OS, but the official Raspberry Pi OS, with additional tools and preconfigurations to make it the ideal OS for any Java and JavaFX developer who wants to use a Raspberry Pi.

JavaFX Links of July 2023

Although I skipped a few weeks because of busy schedules, holiday interruptions, and too few hours in a day, there was still a lot to report in the two #LinksOfTheWeek that were published on jfx-central.com in July. Have fun reading and clicking, and see you end of August for one long #LinksOfTheMonth…

Reading the temperature, humidity, and pressure from a BME280 Sensor with Java, Pi4J, I2C, SPI, and JBang

To make it as easy as possible to get started with Java on the Raspberry Pi to interact with electronic components, I started a new section on the Pi4J website with JBang examples. In this tutorial, I want to show you how you can read the temperature, humidity, and pressure from a BME280 Sensor.

JavaFX Links of June 2023

Again a lot has been shared this month in the jfx-central.com #LinksOfTheWeek! And that website itself is “under heavy construction” as version 2 is getting a completely new design and several improvements. Your help is wanted! See the last section of this summary… Core Rampdown Phase 1 (RDP1) for JavaFX 21 starts on July 13, 2023 at 16:00 UTC (09:00 Pacific time), about four weeks from now.

Running a CRaC Java application on Raspberry Pi

With the April release of the Zulu Build of OpenJDK, Azul announced the integration of CRaC in its version 17 of Java for Linux. Coordinated Restore at Checkpoint (CRaC) is a feature introduced in OpenJDK to improve Java’s application startup and warmup times to milliseconds from seconds or even minutes, by allowing a running application to pause, snapshot its state, and restart later, even on a different machine.

One Year as a Technical Writer at Azul: A Journey of Growth and Learning.

Writing has always been my passion, and even in my previous jobs as a developer, I stood out as the one who enjoyed creating and maintaining documentation. But June 9th, 2023, marked my first birthday as a full-time technical writer at Azul. Yes, it’s already a year ago that I changed from being a developer-who-also-writes to a writer-who-also-develops.

JavaFX Links of May 2023

Again a busy month in JavaFX-world! Here is a nice list with links for your reading and clicking pleasure! This is the summary of the #LinksOfTheWeek as published on jfx-central.com in May 2023. JavaFX Core JavaFX 21-ea+17 is available for download from GluonHQ or from Maven central. Johan Vos believes it’s time to deprecate Java Swing: “It doesn’t make sense to maintain Swing and move JavaFX forward.

Interview with Paul Kocian aka OrangoMango

Some time ago on Twitter, I discovered @OrangoMango, who shared his progress in creating a 3D engine with JavaFX. The shared videos started with a Rubik’s cube in January ’23, over a basic tumbling car in February, to a full Minecraft-like world in April. Who is this @OrangoMango? And why did he take up the challenge to create a 3D engine with Java and JavaFX?

JavaFX Links of April 2023

This is the summary of the #LinksOfTheWeek as published on jfx-central.com. JavaFX Core Gluon announced JavaFX update releases: 20.0.1 (latest release), 17.0.7 (latest LTS), and for Gluon LTS customers 11.0.19. In this video with Kevin Rushforth he talks about JavaFX 20 and beyond. Dirk Lemmermann tweeted some of the highlights like RichTextArea, ideas for future releases,… The Notebook demo is looking really nice to learn JavaFX in an easy way.

Interview by Bazlur Rahman: Unlocking Java Secrets with Frank Delporte - Insights, Stories, and Tips for Success

On Foojay.io, Bazlur Rahman is publishing a series of interviews with various people from the OpenJDK community. I had the honor to be included in this series, and this is a repost. Welcome to our exclusive interview with Frank Delporte, a Senior Technical Writer at Azul, Java Champion, and a passionate advocate for all things related to Java and Java on Raspberry Pi.

JavaFX Links of March 2023

This is the summary of the #LinksOfTheWeek as published on jfx-central.com. JavaFX Core Johan Vos is working on backports for JavaFX 17.0.7 to guarantee quality and long-term support. And he announced JavaFX 20 could be released in the week of March 20th. As planned. Together with the release of OpenJDK 20, we also got the release of OpenJFX 20.

Hidden Beauties of Java Enums

Let’s take a look at the power and beauty of what Java Enums can provide… I also created a video describing the same topics based on this article, so you can follow along combining both the video and this post. What is an Enum? Enums are the preferred way to define fixed values you want to use in your code.

Book review - Practical Design Patterns for Java Developers

Hone your software design skills by implementing popular design patterns in Java This book is for sale on Amazon in Kindle and Paperback editions. Book cover Book backside Miroslav Wengner Introduction I’ve been programming since I was 10y old but graduated from film school as a video editor, so I never learned the “official” way to be a programmer.

JavaFX Links of February 2023

February is a short month, but this list seems to be longer than ever… A lot of game development, releases, interesting ongoing development, and so much more to read. Enjoy reading and clicking! This is the summary of the #LinksOfTheWeek as published on jfx-central.com during February. JavaFX/OpenJFX Core Kevin Rushforth of Oracle announced on the mailinglist “As a reminder, JavaFX 20 is now in Rampdown Phase Two (RDP2).

JavaFX Links of January 2023

2023 has taken off with a flying start in JavaFX-world! Here is a summary of the Links Of The Week that were published in January on jfx-central.com. JavaFX Versions Gluon announced the first set of JavaFX releases in 2023: JavaFX 19.0.2: public release containing some updates and security patches to JavaFX 19.

New Section Added to Foojay.io: Java Quick Start

Foojay.io aims to be the starting point for “all-things OpenJDK,” but during one of my morning walks the idea struck me that this site really needs complete beginner materials, too. As we want to spread the love for OpenJDK, i.e., Java, Kotlin, and other OpenJDK languages, the JVM, and all related technologies, we were missing an important audience: someone who is interested in an OpenJDK language, such as Java, but has no experience with it yet, and ends up on Foojay.

JavaFX Links of December 2022

If anyone needs a reminder Java and JavaFX are “alive and kicking”, you can not only check out jfx-central.com, but also the list below. Although I’m trying to get of Twitter - for my own mental health 🙂 - I’m still being flooded with amazing content. Here is the result of the #LinksOfTheWeek that were published on jfx-central.

HiveMQ Cloud, part 4 - Sending sensor data from Raspberry Pi Pico W to HiveMQ Cloud

Exactly one year ago, in December 2021, I published three articles of MQTT messaging with Raspberry Pi, Raspberry Pi Pico and HiveMQ Cloud. On June 30th of 2022, Raspberry Pi released a new product, that is the subject of this post: the Pico W. Yes, a new version of the original Pico, but with Wi-Fi.

Schedule your holiday for 2038

The end of the year is approaching, so it’s time to start scheduling your holidays for the next year. But I decided to go a step further and already planned those for 2038! Why? Well, a few weeks ago I gave a presentation to students, when I realized they had no idea what I was talking about when mentioning the Y2K-problem.

JavaFX Links of November 2022

Time flies when having fun… So here we are again, another month has passed and this is a summary of the Links Of The Week that were published on jfx-central.com during November. JavaFX Core We already shared here that Oracle will also be distributing JavaFX builds, and you can see the announcement they did at JavaOne here.

Shopping list for JavaOnRaspberryPi

After my talk at J-Fall I got the question what is required to get started with #JavaOnRaspberryPi. In my book I list the components that are used, but indeed a short overview was missing (it’s now added to the ebook…). So here we go: Raspberry Pi While working on the book, I used a Raspberry Pi 3.

JavaFX Links of October 2022

When I (re)started the JavaFX Links Of The Week on jfx-central.com in September, I was wondering if there would be enough material to share every week. But that was a stupid mistake as you can see below in the summary of what happened in October… 🙂 JavaFX 19 and 20 JavaFX 19 just got released a few weeks ago, but Johan Vos is already looking forward to the next one: a really-worth-mentioning improvement that will be in JavaFX 20 is the update to MarlinFX 0.

Book review - Learn JavaFX Game and App Development with FXGL 17

This summer I read the book “Entreprenerd” by Bruno Lowagie. It tells the story of how he started with the iText PDF Java library and turned that into a company together with his wife, and eventually sold it with all problems related to most sales and acquisitions trajects… In “Entreprenerd”, he also describes the process of writing two books about the iText library itself, as there were no good manuals available and he wanted to liberate himself from the ever-returning same questions.

Devoxx Belgium and J-Fall The Netherlands - Links

Links used in my talks at Devoxx 2022 (Antwerp, Belgium) and J-Fall (Ede, The Netherlands). Book “Getting Started with Java on the Raspberry Pi Twitter Frank #JavaOnRaspberryPi Work Televic Rail Eeve Azul foojay.io Website - Friends of OpenJDK Controlling Electronics with JBang on the Raspberry Pi All Raspberry Pi articles (over 50!

JavaFX Links of September 2022

The JavaFX links of the week are back on jfx-central.com, and here we collect the complete month for you in an excellent overview. JavaFX 19 is released On the JavaFX mailinglist this thrilling message appeared: “Create release notes for JavaFX 19.” And yes, they are available now on GitHub! If you want to keep following what’s happening inside the JavaFX community, you can suscribe to the mailinglist via mail.

Create Music Bingo cards with iText

It has been a while since I last had to create documents in a program, and iText has been “on my radar” to try out for a while now. This weekend we had a party and wanted to organize a music bingo. For this, we needed a set of randomly selected songs to be printed out per person.

Blink a LED and read a button state with Vaadin, Spring and Pi4J on a Raspberry Pi

As I’m becoming a senior developer in terms of age, I’ve transitioned from one language to another. One of my main interests has always been clean, easy-to-understand UIs (User Interface). That journey started for me with Director (to create multimedia CD-ROMs), Flash website animation, and Flex Rich Internet Applications (= “Flash on steroids”).

Installing Java with SDKMAN on Raspberry Pi

If you create a new SD card for a Raspberry Pi with the operating system, you can choose the “Raspberry Pi OS Full (32-bit)” edition, which includes Java 11. But a lot of the other available OS-versions don’t have Java included. There are many ways to install Java but, personally, I find SDKMAN the easiest one to use.

Starting a new JavaFX projeect in IntelliJ IDEA

On the OpenJFX website you can find a lot of getting started documentation. But as one image/video says more than a thousand words, I created this short movie to show you that creating a new JavaFX project is just a matter of a few clicks with the JetBrains IntelliJ IDEA.

HiveMQ Cloud, part 3 - Sending sensor data from Raspberry Pi Pico to HiveMQ Cloud

In the previous two posts in this series, we used Java on the Raspberry Pi mini-computer to send sensor data to HiveMQ Cloud, and visualize it on a dashboard. “Part 1: MQTT on Raspberry Pi, Send Sensor Data to HiveMQ Cloud with Java and Pi4J” “Part 2: Using MQTT and Raspberry Pi to Visualize Sensor Data on a TilesFX Dashboard” Now we are going to add some more data to our messaging system with another member of the Raspberry Pi family: the Pico.

HiveMQ Cloud, part 2 - Using MQTT and Raspberry Pi to Visualize Sensor Data on a TilesFX Dashboard

In the previous post we started our discovery of HiveMQ Cloud with Java on the Raspberry Pi. We created an application to send measurements of various sensors to the HiveMQ Cloud MQTT broker. Using an online websocket client we verified the transition of the messages, and could see the data being published to this online message queue.

HiveMQ Cloud, part 1 - MQTT on Raspberry Pi, Send Sensor Data to HiveMQ Cloud with Java and Pi4J

A few years ago I did my first experiments with an MQTT server (Mosquitto) running on a Raspberry Pi to connect an Arduino and Raspberry Pi for the drumbooth of my son. The full process is described in my book “Getting Started with Java on the Raspberry Pi”. In this series of posts we are going to take a different approach with an online MQTT-compatible service: HiveMQ Cloud.

JavaFX running in kiosk mode on the Raspberry Pi

The Raspberry Pi in combination with an inexpensive touch screen, makes a perfect controller for a machine or game console. Let’s see how we can use Java and JavaFX to build a test application which also communicates with the pins of the Raspberry Pi to control a LED. We have done something before already in the post “Light Up your Christmas Tree with Java and Raspberry Pi”, so what’s new?

Device monitoring tool with JavaFX, FXGL and Mosquitto

In a previous post “Getting Started with FXGL Game Development” we already have taken a look at the FXGL game development framework developed by Almas Baimagambetov. But, this game engine can also be used for other use cases. In this post, we will be building a system monitoring dashboard, which can run on a Raspberry Pi.

JVM Advent 2020 - Light up your Christmas lights with Java and Raspberry Pi

Are you a serious Java-developer looking for a fun project? Or want to learn something completely new and use your Java-knowledge to control electronic components? Here we go with this small project to get you introduced to the world of electronics programming! This post was originally posted on Java Advent 2020,

JFXDays presentation - Having fun with Java and JavaFX on the Raspberry Pi

Today I could give my talk “Having fun with Java and JavaFX on the Raspberry Pi” at the JFXDays. Normally this event takes place in Zurich, but this year also went virtual because… well because of 2020… I’m honored that my talk was part of this two-day event with a lot of talks by all the people who are the driving forces in the JavaFX community!

Building native applications for all PC and mobile platforms from a single JavaFX project with Gluon Mobile and GitHub Actions

The post “Starting a JavaFX Project with Gluon Tools” shows you how to start a Gluon Mobile Multiview project with a few clicks in IntelliJ IDEA thanks to the “Gluon plugin”. In this post, we will use such a project and build it with GitHub Actions as a native application for Windows, MacOS, iOS, Linux, and Android from one single code base!

Starting a JavaFX Project with Gluon Tools

On foojay.io you can already find two posts by Carl Dea to get you started with JavaFX: Beginning JavaFX Applications with IntelliJ IDE: step-by-step how to start a new JavaFX project without any tools, are by using the Maven and Gradle tools. A JavaFX App on ZuluFX in 60 Seconds: how to use a popular distribution from Azul to build a JavaFX HelloWorld Application in 60 seconds.

Devoxx Ukraine presentation - Having fun with Java and JavaFX on the Raspberry Pi

Today I had my first Devoxx talk, after my Java virtual talk a few weeks ago at the “Oracle Groundbreakers APAC Virtual Tour 2020” conference (21/10)! The event in Ukraine also went virtual which gave me the opportunity to share my love for Java, JavaFX and the Raspberry Pi again.

OpenJDK versus OpenJFX Release Cycles

Confused about the release cycles of OpenJDK and OpenJFX and the relationship between them? Read on! OpenJDK Since 2018, Java switched to a 6-months release cycle. Every new release brings new finished features, but also “preview” ones which are not finished yet. These can be enabled with a flag (java --enable-preview) to allow developers to start experimenting with them and provide feedback to the developers to further improve these so they can become available in one of the next releases.

JavaFX 3D - A Look Back Through History & Some Experiments

After my virtual conference talk “Java and JavaFX on the Raspberry Pi” at the “Oracle Groundbreakers APAC Virtual Tour 2020”, I got in touch with some people who were working on JavaFX 3D in the past, and were curious how that would behave on the Raspberry Pi. Only one way to find out!

APACOUC presentation - Java and JavaFX on the Raspberry Pi

Today I had the honor to speak at the “Oracle Groundbreakers APAC Virtual Tour 2020” conference. And of course the title of my talk was “Java and JavaFX on the Raspberry Pi”. Video (start at 3'05") Links mentioned during the talk (in order) Passendale, Belgium Televic Rail - Passenger Information Systems CoderDojo Book: “Getting Started with Java on the Raspberry Pi” Raspberry Pi Announcing Raspberry Pi Compute Module 4 Raspberry Pi Compute Module 4 on sale now from $25 TIOBE Index Which Programming Languages Use the Least Electricity?

Building OpenJDK on Raspberry Pi

The OpenJDK sources are now fully available and developed on GitHub as a result of Project Skara. Thanks to a lot of work done by the community, the full Java development flow has been migrated to GitHub while keeping the repository history. This process has been described on the GitHub blog.

Visual Studio Code on the Raspberry Pi (with 32 and 64-bit OS)

In my book “Getting Started with Java on the Raspberry Pi”, I give more info about IDEs (= Integrated Development Environment) for Java development. My prefered ones are JetBrains IntelliJ IDEA and Microsoft Visual Studio Code (VSC). IntelliJ IDEA is the most used IDE by Java developers and is available in a free edition with some limited features, or a full paid version.

Using Pi4j (V1) on the Raspberry Pi 4

A topic which comes up from time to time in questions related to Java and the Raspberry Pi, is the support of the 4th version of this board in combination with Pi4J, “the friendly object-oriented I/O API and implementation library for Java programmers to access the full I/O capabilities of the Raspberry Pi “.

64-bit Raspberry Pi OS on Raspberry Pi 4 with USB BOOT

A micro SD card is the default way to add an operating system to the Raspberry Pi. But there is an alternative you need to consider if you want to make your system more reliable. SD cards are not super fast and can get corrupted when you are writing a lot to disc.

Spectacular Java projects on Raspberry Pi

Thanks to Twitter and LinkedIn I got into contact with several developers who are doing Java stuff on Raspberry Pi and I want to share those projects with you as they can be an inspiration for all of us to get started with Java development on the Raspberry Pi. Igor Souza - Kafka on the Raspberry Pi Igor shared this nice video where he set up a Kafka cluster on Raspberry Pi.

Azul Zulu OpenJDK 15 on Raspberry Pi

For this post I did some experiments with Java 15, reusing the Ubuntu 64bit SD card which was also used for the earlier post “Comparing a REST H2 Spring versus Quarkus application on Raspberry Pi”. That version of Ubuntu comes with OpenJDK 11 pre-installed. $ java -version openjdk version "11.0.8" 2020-07-14 OpenJDK Runtime Environment (build 11.

Why you should learn to program on the Raspberry Pi

In this article “Java vs Python - Which Programming Language Should Programmer Learn First?” by Javin Paul, you can find a comparison between the two most popular programming languages. Of course, as being a Java-developer myself, it’s not a mystery which I would prefer ;-) But more important than the language, could be the computer you are using!

How to install and use Java 11 and JavaFX 11 on Raspberry Pi boards with ARMv6 processor

In a previous post “Installing Java and JavaFX on the Raspberry Pi”, you can read how to install BellSoft LibericaJDK to be able to run JavaFX applications with a graphical user interface on a Raspberry Pi with ARMv7 or ARMv8 processor. But this won’t work for some (older) versions of the Raspberry Pi as these use an ARMv6 processor which is not compatible with the default OpenJDK 11 which is part of Raspberry Pi OS.

Comparing a REST H2 Spring versus Quarkus application on Raspberry Pi

Goal of this comparison In my previous post “A Spring REST and H2 database application on the Raspberry Pi” an example was described to store sensors and measurements in a H2-database through REST API’s with a Spring application on the Raspberry Pi. This application takes some time to start on a Raspberry Pi, and Adam Bien who makes the airhacks.

A Spring REST and H2 database application on the Raspberry Pi

Java on Raspberry Pi The “Pi” in the name of the Raspberry Pi refers to Python, but as a Java developer I love to know and experiment with the various Java frameworks I also use at work. Spring is the main one, and I wanted to develop a proof-of-concept application which provides REST API’s to store and retrieve sensor data with a database back-end on the Raspberry Pi.

Joining the Pi4J team

In my book “Getting Started with Java on Raspberry Pi” I dedicated a chapter on Pi4J, the leading framework to combine the power of Java with the hardware capabilities of the Raspberry Pi. This project which was started in 2012 by Robert Savage, evolved during the years to be able to support all the different Raspberry Pi-versions and many types of hardware components.

The MagPi step-by-step video

In “The MagPi Magazine” #93 and #94, published by the Raspberry Pi Foundation, you can find two articles which describe how you can get started with Java, Maven, Visual Studio Code and Pi4J on the Raspberry Pi. To make everything even more clear, I created a step-by-step video on Vimeo which shows everything which is described in those two articles.

Getting started with FXGL game development

FXGL is a Java, JavaFX and Kotlin Game Library (Engine) made by Almas Baimagambetov. As my son (almost 10y) challenged me to make a game during my “Corona-stay-at-home-time”, I had the luck Almas provided me a getting-started with this detailed step-by-step. For a more up-to-date and extended example, check this newer post of 2023/12/14 A JavaFX Game Application in a Single Java File with JBang and FXGL.

Installing Java and JavaFX on the Raspberry Pi

One of the most read articles on this blog is about the installation of a recent Java on Raspberry Pi (March 13, 2019), so it’s time for an update! Disclaimer: this article is only valid for Raspberry Pi’s with an ARMv7 or ARMv8 processor. In the Raspberry Pi specifications table on Wikipedia you get a clear overview of the Pi-types with this processor:

Drumbooth controller with Raspberry Pi, JavaFX, and Arduino

Based on multiple examples from my book “Getting started with Java on Raspberry Pi”, I created a touchscreen controller for the drum booth of my son. Combined with relays boards and an Arduino this allows to control LED strips and different lights with a touch screen interface. There is also a web server included so we can trigger some events from anywhere in the house through a webpage so we don’t need to yell anymore from down the stairs when food is on the table ;-)

Raspberry Pi and SPI 8x8 LED matrix example with Java and Pi4j

While looking for a cheap and nice component to demonstrate the use of SPI (Serial Peripheral Interface) I found out this 8x8 matrix LED display on a board with a MAX7219 chip is the perfect piece of hardware! What you see in the video is the end result with: All on/off Demo of all the lines Demo of all the columns 5 random generated matrixes A set of images including an attempt of the Raspberry Pi logo A, B, E, S, T fixed The same characters scrolling one-by-one Wiring As we are using SPI, the number of connections to be made is very minimal:

OpenWeatherMap forecast on LCD with Raspberry Pi, Java and Pi4J

Pi4J contains helper methods to minimize the work needed to use certain hardware modules on the Pi with Java. As an example, we will be using “GpioLcdDisplay” to control an LCD with 2 rows of 16 characters. After requesting the weather forecast from a public website, we will visualize this on the LCD display.

Reactive Spring Flux data from a Pi

Trisha Gee (Coder, blogger, speaker, Developer Advocate at JetBrains, @trisha_gee), which I interviewed for “Chapter 4: Choosing an IDE”, and Josh Long (Spring Developer Advocate at Pivotal, @starbuxman) worked together on a blog series in which they showed the power of reactive data produced by a Spring application. Instead of repeating a REST call each time you want to get data from the server, you do one call which returns a continuous stream in which new data is pushed based on an interval.

Controlling a LED number display with JavaFX and Python on Raspberry Pi

In my book I explain the use of bits and bytes by using a shift register SN74HC595 IC and 5101AS LED number display. A number display with LED segments Defining the bytes for each number In the table below the bits are defined to get the hex/number value needed to light up the required segments (A - H) of the LED segment display:

Creating a timeline image with JavaFX

To create some timeline images for my book, I created this little JavaFX application to be able to easily update the content and recreate the image. Of course you can do the same in an image editor, but hey I’m a programmer and lazy, so I want a program to do the job for me ;-)

Calculating resistor value with a JavaFX application

Using the Java library I created (see previous post), it was a piece of cake to create a JavaFX UI on top of it! Source The sources are part of the GitHub project which contains all the other examples, scripts, readmes and a lot more which are used in the book to explain Java, JavaFX, Maven, Raspberry Pi GPIO’s…

Resistor color codes and calculations as a Java Maven library

Next step in my book progress, is getting more into the details of hardware components. And as always starting with the smallest most-used ones: resistors! To be able to fully document this for the book and create a demo application, I started again with creating and sharing a Java library.

Raspberry Pi history, versions, pins and headers as a Java Maven library

The best way to understand and learn something new, is to document it yourself. That’s what I’m doing in every step for my book-in-progress. And to fully get the pinnings and headers of the different Pi-boards, I decided to gather all info into a Java library with different enums to be able to auto-generate some content for the book and use in a few different example applications.

Controlling Arduino with Mosquitto and JavaFX on Raspberry Pi

One of the example applications in my book “Getting started with Java on the Raspberry Pi” combines a JavaFX application with Mosquitto on the Raspberry Pi to control a LED strip with an Arduino. All wireless and independent of each other as the Mosquitto-queue is dealing with exchange commands between all applications.

The mystery of the negative byte value in Java

A story of bits, bytes, signed and unsigned Some time ago there was a question on the Pi4J-forum caused by some confusion about a numeric value handled as a byte which was logged as a negative number -86 instead of the expected value 170. So this is my attempt to try to solve this mystery… ;-)

LED number display JavaFX library published on Maven

My very first open source JavaFX library is now available in the Maven repository! A small step for mankind, one giant leap for myself ;-) While working on Java example projects for my book “Getting started with Java on Raspberry Pi”, I needed a way to visualize a LED number display as used in electronics projects.

Quick start Java development with Visual Studio Code

Great move of Microsoft! They provide an all-in-one installer for Java dependencies and Visual Studio Code. Take a look at https://devblogs.microsoft.com/visualstudio/announcing-visual-studio-code-java-installer/ “So today, we’re releasing a special Installer of Visual Studio Code for Java developers. The package can be used as a clean install or an update for existing environment to add Java or Visual Studio Code to your development environment.

Pi4J to easily work with the hardware of a Raspberry Pi with Java

What is Pi4J See https://www.pi4j.com/1.2/index.html This project is intended to provide a friendly object-oriented I/O API and implementation libraries for Java Programmers to access the full I/O capabilities of the Raspberry Pi platform. This project abstracts the low-level native integration and interrupt monitoring to enable Java programmers to focus on implementing their application business logic.

Pi4J - Adding a REST interface with Spring Boot

As I was learning Spring Boot myself, I thought the easiest way to learn was trying to build an example and write about it. So here we go… :-) What is Pi4J? While doing my experiments earlier with Java 11 on a Raspberry Pi, I came accross the Pi4J project which allows you to control the GPIO pins easily from Java.

Pi4J - Extending with a JavaFX info application

While trying out what Pi4J can do, I found it could easily be extended with a JavaFX application to provide info about the headers on a Pi board. This could later be extended to a remote/local (touch) User Interface using the REST interface from this post. Starting point I started with the minimal JavaFX application I created before for a quick start with the correct pom.

PiJava overview - Java 11 and JavaFX 11 on Raspberry PI

As my daily work mainly is Java and back-end stuff on “real servers”, I set myself for 2019 as a personal goal to experiment with Java 11 on a Raspberry PI. While doing so, I needed multiple scripts and test projects. And because I strongly believe in “learning by sharing”, this resulted in a blog series with links to the sites and people who inspired and helped me, plus the sources on my GitHub account.

PiJava - Part 6 - JavaFX 11 on Raspberry PI with TilesFX and GPIO

What we will do Based on the previous blog posts we can install and run Java 11 we have a minimal JavaFX 11 application which runs fine on a PI So there is one “small” step remaining: build something which actually does something on the PI, talking to the GPIO’s and show what’s happening.

PiJava - Part 5 - Running the minimal JavaFX 11 application on Raspberry PI

In part 2 of this blog series Java 11 was successfully installed on a PI. And in part 4 a running Java FX jar was generated on a PC. Time to move back to the PI… Run the JavaFX .jar application Make sure you have a the Liberica Java JDK installed as described in part 2 as JavaFX is not part of the “normal” Java JDK.

PiJava - Part 4 - Building a minimal JavaFX 11 application with Maven

I prefer a Java app above a web app, because starting a new “modern” web development requires you to pull a bunch of dependencies and a lot of files before you can start. While Java just needs the JDK and one Java file, even on a Raspberry PI (as described in PiJava - Part 2).

PiJava - Part 3 - What is Java FX?

What is JavaFX? From the Oracle site: “JavaFX is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.” JavaFX was originally created by Sun Microsystems, later became part of Oracle Corparation and is now an open source project on openjfx.

PiJava - Part 2 - Installing Java 11 on a Raspberry PI 3 Model B+

After my first (and failed) attempt to get Java 11 running on an old Raspberry PI, I bought a brand new 3 Model B+ version. Installing a recent Java JDK which includes JavaFX UPDATE April 30, 2020 An earlier version of this blog showed how to install Java 11 on the Raspberry Pi, but Raspberry Pi OS has this now already included!

PiJava - Part 1 - Trying to run Java 11 on an old Raspberry PI

One of my goals for 2019 is experimenting with the latest Java and JavaFX versions on a Raspberry PI. After my experiments with the Python Pong game I was not very happy with the GUI I could build with Python and definitely wanted to try something similar, but with JavaFX which I like much more.

Getting Started with Java on the Raspberry Pi

For sale as ebook on Leanpub, with continuous free updates! Introduction When I first managed to blink a LED connected to a Raspberry Pi with Java, I was super excited! Controlling physical things with some lines of code is magic! This book includes a lot of info and history about Java itself and how to install it on the Raspberry Pi.