So far, all of the programming that we have done has been part of a text interface. The programs print information to a terminal window and to give them input we enter text from the keyboard. These types of programs have their place in computing, but these days very few people actually use such programs. They typically run in the background instead, doing things that people do not see. The programs that you are likely used to working with are more graphical. They open up windows and you can interact with them through mouse clicks as well as typing.
This type of program is called a GUI (Graphical User Interface). In this chapter we will look at how we can write GUIs in Scala and get them to interact with the user.