Write a JAVA GUI program that would facilitate text chatting/exchanging between two or multiple computers over the network/internet, using the concept of JAVA socket programming. If you do not have any network environment, you can run on a single machine by instantiating your program multiple times. E.g. you can have program1 and program 2 running on same machine exchanging texts between themselves.
Note: For further clarification and concerns about the assignment, students are recommended to contact to firstname.lastname@example.org.
This assessment task will assess the following learning outcome/s:
• be able to design and implement multithreaded Java applications.
• be able to design and construct Java Graphical User Interfaces (GUI) that interact with problem domain objects.
• be able to implement Java networking programs
• be able to develop client/server application
• be able to develop servers for multiple clients
• be able to deconstruct/analyse the object-oriented features of a Java program;