Java Swing (GUI) Programming: From Beginner to Expert

4.5 (1920)
Java Swing (GUI) Programming: From Beginner to Expert
Learning paid
14 hours course
Course by Udemy
Java Swing (GUI) Programming: From Beginner to Expert
What will you learn?
Learn how to write GUI (graphical user interface) applications in Java
Understand the Java Swing framework
Discover how to create database applications
About the course

This course teaches you how to create desktop and web-based applications using Java Swing, Java's built-in user interface toolkit. Each tutorial is fairly self-contained; but we'll also build two complete applications step by step along the way, so you can choose either to work through the whole course or to dip in and out.

Among other things we'll look at nearly all Swing widgets, we'll take a look at JDBC for database access, the graphics API, model-view-controller (MVC) architecture, serialization for saving data, the listener-event model and even basic animation.

When you finish the course, you'll be an advanced Swing developer, capable of creating complex and scalable Swing GUI applications.

Desktop Applications
Introduction: About the Course, Plus Some Useful Resources
This is an overview both of the course and of user interface programming in Java. I'll also show you some useful resources that will help you write great programs, including where to find free software to create your program with (both by hand and visually) and where to find useful documentation.
Creating a Basic Swing Application
How to create a minimal "Hello World" Swing application in Java. In this tutorial we'll create an application that just pops up a window with a title.
  • The "Hello World" application
  • Using Eclipse
  • The JFrame class
Adding Components: Layouts, Buttons and Text Areas
How to add components to your main window. One of the hardest things about Swing programming is dealing with layout managers. This tutorial begins a gentle introduction to using layout managers to layout your components in a resize-friendly way.
  • BorderLayout and introducing layout managers
  • JButton
  • JTextArea
  • Customising JFrame with your own derived class
Responding to Button Clicks
How to make stuff happen when you click buttons!
  • ActionListener: adding listeners to buttons
  • Anonymous classes as listeners
  • Adding text to text areas
Custom Components
How to divide your application up into separate self-contained components by subclassing other classes in this case, the JPanel class.
  • JPanel
  • Custom Components
  • Scroll bars with JScrollPane
Simple Toolbars
How to create a simple panel-based toolbar. In this tutorial we build on our knowledge of creating custom components to add a toolbar with two buttons.
  • Creating simple toolbars
  • FlowLayout for laying out components horizontally
Note: in a later tutorial we'll cover the JToolbar class; this tutorial covers a technique for creating a simple toolbar-like panel, illustrating the useful FlowLayout.
Communication Between Components
How to cause something to happen in one component in response to something that happens in another component. In this tutorial we look at setting a listener on your custom component and we begin to look at MVC (Model-View-Controller) architecture.
  • Creating listeners for custom components
  • Beginning MVC
  • Disadvantages of making your components tightly coupled
Listeners and Events: Using Interfaces to Cleanly Separate Components
How to improve a basic custom "listener" by using interfaces to eliminate tight coupling between your components. In this tutorial I'll show you how to make your inter-component communication clean and scalable using some standard Java techniques.
  • Custom event listeners
  • Using interfaces to eliminate tight coupling
Setting Component Sizes
How to change the sizes of your components.
  • Preferred Size
  • The Dimension class
  • setPreferredSize() vs. setSize()
  • How layout managers handle component sizing
Setting Borders
Setting your components' borders.
  • The BorderFactory and Border classes
  • Titled borders
  • Empty borders
  • Etched borders
  • Compound borders
Text Fields and Labels
Using the JTextField and JLabel classes to add text fields (one line text entry controls) and labels to your application.
  • JTextField
  • JLabel
    • Basic understanding of IT Service Management and/or how a service desk works
    • ITIL 4 Foundation (Video-based course or textbook)
    John Purcell
    John Purcell
    Software Development Trainer
    Udemy courses are suited to professional development. The platform is organized in such a way that it is experts themselves that decide the topic and when the course will start. All supporting documents are made available to you for lifetime access. On this platform, you can find a course on about any subject, and that is no exaggeration – from a tutorial on how to ride a motorcycle, to managing the financial markets. The language and the course format are established by the teacher. This is why it is important to read the information about the course carefully before parting with any money.
    Comments (1920)
    Like any other website, konevy uses «cookies». These cookies are used to store information including visitor's preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information. For more general information on cookies, please read the «What Are Cookies» article on Cookie Consent website.