This tutorial is a free complementary tutorial to my course, Working Class Java. In that course, I used this Sudoku Application as a teaching tool in order to explain how to design, architect, and build Java Desktop Applications. It is highly practical in nature, and the idea is that you follow along in your own IDE with me. Even if there are concepts which do not make immediate sense to you, it is helpful to follow along. Once you are ready to learn about each topic in detail, check out the course.
This video introduces my philosophy behind learning to build applications in general, and where you can find answers to some more specific questions. Check out my other course, Working Class Java, for a comprehensive and detailed introduction to the ideas, structures, and concepts used in this practically oriented course.
Every new application requires foundational classes to represent the problem domain of the application. In essence, this means that we create some basic classes based on what our application does, and what kind of data it will need to represent. In this lesson, we will create such classes.
Some things change, others don't. For things that don't change, enums and static final variables are a great solution.
In this lesson, we will create the classes necessary to launch our application.
How do you build a User Interface using JavaFX, which has over 81 different TextFields? In this lesson, you will learn all that and more. It turns out that having 81 different references is a bad idea, and I have a much better solution which makes use of a HashMap to keep track of all of our 81 different Text Fields.
In this lesson, we will write a class which makes decisions for our User Interface, and passes data back and forth between the UI and the back end of the application.
In this video, we will look at various algorithms and data structures for representing and manipulating a virtual sudoku game. This video is tricky and complicated as it turns out that solving and generating Sudoku games is a bit more difficult that you might think.
In this video, we will write the "build logic" of the application. This is the code necessary to wire everything together when the application starts up.
In this video, we will write our Storage class to persist the user's data. We use basic tools from the Java Standard Library to achieve this; no 3rd party libraries necessary!
Thanks for watching!