Advanced Java programming with JavaFx: Write an email client
- Description
- Curriculum
- FAQ
- Reviews
Seeing a message printed on the console when you click a button can be rewarding, but at some point you need to go beyond the basics of JavaFX. Project based learning is the best approach to become a competent JavaFX programmer.
Writing a calculator app is fun, but you know what is funnier? Getting a job as a programmer. You can’t get there just by coding simple apps or watching presentations.
This course uses the latest versions of JavaFX at an advanced level, so you will be ready to write your own complex use interfaces using Java.
This course can be summed up as one big programming exercise. So if you want to feel more confident about your Java programming skills by building a unitary program, then this course is for you.
What you can expect from this course:
- Install Java and JavaFX and setup your IDE, be it Eclipse on IntelliJ
- Understand how to run an initial JavaFX program
- Use FXML for writing UIs in a productive manner, just like Android programming
- JavaFX views and controllers
- Communication between classes – no singletons!
- Model-View-Controller pattern for JavaFX applications
- Make coll skins for your app with JavaFX css
- Dynamically update your JavaFX themes
- Multi-threading in JavaFX: Tasks, Services, Threads, all with real examples, NOT Thread.wait()
- Custom JavaFX nodes for advanced functionality
- Tables in JavaFX with Table Views, with dynamic data and style updates
- JavaFX web views for reading and composing email messages
- Run the JavaFX program outside your IDE and understand how to run Java Jar apps and fix JavaFX packaging issues
Advanced Java techniques you will learn by practice:
- Abstract classes, Interfaces and inheritance
- Annotations
- Enums, Lists, Generics
- Casting and Delegation
- Recursion
- Multi-threading
- Lambda expressions
- Comparable Interface
- String Buffers
- While(true) loops, yes, those exist
- Selection models
- Serialization and encoding
Course advantages:
- Respect for your time: most of the time of the instructor typing is cut off, the course is focused on explanations
- Concise: learn only what you need, no fillers to make the course falsely more appealing
- Experienced and programming active instructor: a great teacher never looses touch with the industry. This is especially true for software development, where the industry is so dynamic. This helps the instructor stay up to date with the best coding guidelines and present you the challenging parts, not the “hello world”
- Organized course structure: six parts, progressive approach, consistent content
- Code changes in each lecture on Git with code diffs: this will help you get an concise overview of the lecture and correct in case you missed something
- Big font, dark background, fullHD content, this way it is readable even on a small screen or even tablet.
- Lifetime access
- Big app for your portfolio – to present to your teacher or prospective employer
When I was a beginner, I struggled myself to go beyond basic examples and even if I knew the theory, I needed guidance to put in practice. So if you are at this point, if you had acquired programming skills and now you want to master them, please take a look at the free lectures, and if you like them, I’ll see you in this JavaFX class!
The quality of the course is recommended by it’s reviews:
“Very good course! Happily exceeded all expectations and I feel lucky that I found such an in-depth course on such a topic, that I happen to enjoy a lot!”
“A very good, fairly fast paced course. I’m enjoying it immensely. It is especially gratifying when you get to see real emails being sent and received.”
“It was extremely helpful to understand of Complete JavaFX and Java Concepts. Applying these practice bring you perfect level to Java app for the develop. Alex , Man… One of the best trainer and the way he explanation in the course, extraordinary !!”
“If you already know Java and basic OOP principles, do the basic JavaFX tutorial on Oracle’s site first and THEN take this class. Then you will be able to learn and appreciate the value that Alex brings to the table here.
This course doesn’t waste much time teaching you the JavaFX basics, it jumps right in to real-world application. Seriously, do Oracle’s JavaFX tutorial first! This class teaches you how to apply MVC principles to a real-world desktop application made with JFX. Without the basics first, you will get lost.
That said, this class is excellent! It fully covers modern desktop application design, including using dependency injection, threading, and scene management. These are the big things you need to know to write a decent application. Other courses just walk you through how to use each JavaFX control, so basically someone walking through the Java docs with you. This one teaches you how to write a real-world application.”
“All other teachers on this website often forgot what is it to be a pro programmer and will always teach you using abstract example with banana and apple in a console that you will not relate to in any ways.
This course is the complete opposite!
For me again, top course, can’t wait to watch more, they should be more like this.”
-
1Course introductionVideo lesson
Here we introduce the course and set guidelines on how to take it.
-
2Setting up a JavaFx project using InteliJ Ideea IDEVideo lesson
Here we will configure a new JavaFx project in the InteliJ Ideea IDE
-
3Setting up a JavaFx project using Eclipse IDEVideo lesson
Here we will configure a new JavaFx project in the Eclipse IDE
-
4First JavaFx ProgramVideo lesson
Here we will build a basic JavaFx program
-
5Setting the layout using FXMLVideo lesson
Here a more productive way of setting up our layout is introduced: the FXML file
-
6Scene BuilderVideo lesson
Scene Builder is a great program that let's us preview our layout. In this lecture we will install it.
-
7Section 2 introductionVideo lesson
Here we see what we will study in this section.
-
8Building the login windowVideo lesson
In this lecture we will build the login window of our program.
-
9Model-view-controller architectural patternVideo lesson
Here we will talk about the MVC pattern.
-
10Building the main windowVideo lesson
In this lecture we will build the main window of our program.
-
11Making the windows responsiveVideo lesson
In this lecture we will learn how to make our windows responsive to resizes by using anchor pane constraints.
-
12Comunicating between controllersVideo lesson
Here we will talk about the Singleton pattern and why it is not the best solution for our program.
-
13The abstract controllerVideo lesson
Here we will find a better solution for our controller communication problem: a base abstract class.
-
14Section 3 introductionVideo lesson
Here we see what we will study in this section.
-
15Initializing stagesVideo lesson
Here we will write a method that will initialize our stages.
-
16Stage actionsVideo lesson
Here we will learn how to call interact with our stages.
-
17Building multiple stagesVideo lesson
Here we will implement a basic options window
-
18Configuring the options windowVideo lesson
Here we will add different program configurations through the option window.
-
19Css introductionVideo lesson
Here we will have our first contact with css styles.
-
20Updating the css dynamicallyVideo lesson
Here we will learn how to update our programs visuals while it is running.
-
21Css selectorsVideo lesson
Here we will learn how to use css selectors.
-
22Section 4 introductionVideo lesson
Here we see what we will study in this section.
-
23JavaMail setupVideo lesson
Here we will add JavaMail to our program.
-
24Email account setupVideo lesson
In this lecture we will write an object that will hold the state our our email account
-
25The login serviceVideo lesson
In this lecture we will connect to the email server by writing a login service
-
26Section 5 introVideo lesson
Here we see what we will study in this section.
-
27Introduction on JavaFx servicesVideo lesson
Here we will use a JavaFx service for the first time. This way we can prevent out UI from blocking.
-
28More info about the Services and overall threads discussionVideo lesson
-
29JavaFx treeItems for our folder structureVideo lesson
Here we will start building a folder structure
-
30Fetching the email folder structureVideo lesson
Here we will fetch the email folder structure
-
31Fetching all foldersVideo lesson
Here we will fetch all our folders using a cool Java feature: recursion.
-
32Section 6 introVideo lesson
Here we see what we will study in this section.
-
33Getting the messagesVideo lesson
Here we will get the messages for each folder.
-
34Email message beanVideo lesson
Here we will write a bean(simple Java class) that will hold our messages.
-
35Adding messages to folderVideo lesson
Here we will add messages to each folder.
-
36TableView setupVideo lesson
Here we will setup our tableView, which will contain our messages.
-
37Making unread messages appear boldVideo lesson
Here we will make our unread messages appear bold.
-
38Sorting tableView elementsVideo lesson
Here we will create a custom property that allows us do nicely display the messages size while keeping the sorting functionality.
-
39Visualizing the messagesVideo lesson
Here we will implement a messages visualization feature.
-
40Loading the messagesVideo lesson
Here we will load the messages.
-
41Section 7 introVideo lesson
Here we see what we will study in this section.
-
42The message listenerVideo lesson
Here we will implement a listener that will receive new messages.
-
43Updating folders with new messagesVideo lesson
-
44Receiving emailsVideo lesson
Here we will add the new messages to the top of our list.
-
45Interacting with messagesVideo lesson
Here we will add basic interaction with the email messages.
-
46Deleting messagesVideo lesson
Here we will learn how to set the deletion flag on messages using context menus.
-
47Section 8 introVideo lesson
Here we see what we will study in this section.
-
48Compose messages layoutVideo lesson
Here we will build the layout for composing messages.
-
49Compose messages controllerVideo lesson
Here we will write our compose messages controller.
-
50Compose messages ServiceVideo lesson
Here we will write the final part of composing messages, while we connect to the email server for message transport.
-
51Section 9 introVideo lesson
Here we see what we will study in this section.
-
52Folder iconsVideo lesson
Here we will add icons to our treeItem elements.
-
53Super cssVideo lesson
Here we will improve our css styles, to make our app look a lot better.
-
54Note on unit testingVideo lesson
Here we will see why unit tests are so important.
-
55Running the programVideo lesson
Here we will go through the process of creating a runnable jar.
External Links May Contain Affiliate Links read more