320 likes | 573 Vues
Java by Example. Introducing IDE, Eliza, UI, IO and other creatures. Developer Needs. Why not use command-line and notepad?. integrated development environment .
E N D
Java by Example Introducing IDE, Eliza, UI, IO and other creatures Created by Ron Begleiter
Developer Needs Why not use command-line and notepad?
integrated development environment integrated development environment (IDE) is an application or set of tools that allows a programmer to write, compile, edit, and in some cases test and debug within an integrated, interactive environment.
Borland’s JBuilder • Availability: Free (Foundation version) • Functionality: integrated editor, debugger, compiler, visual designers, wizards, refactorings, code formatting, and much more. • Supported OS: Windows, Linux, Unix and Mac • Other Java IDEs: Eclipse, IntelliJ
Java toy example - Eliza Who is Eliza? Eliza was “born” in the early 1960s in MIT’s labs. It is viewed as the first intelligent machine. Its creator is Prof. Joseph Weizenbaum. המשורר דויד אבידן נסע בשנות השבעים למעבדות IBM בארה"ב לשוחח עם אליזה. שיחות אלו פורסמו בספרו בשם ''הפסיכיאטר האלקטרוני שלי: שמונה שיחות אותנטיות עם מחשב'' .
What’s next? • We will browse through a few of Java’s basic capabilities and demonstrate how we used them in the toy example; • We will focus on the collection framework, In\Out processing and User Interfacing (UI). • Finally, we will raise a few questions.
Java Collection Framework Interfaces:
Java Collection Framework Implementations:
Java IO Character Streams - Reader
Java IO Character Streams - Writer PrintWriter
Java IO Byte Streams - Input
Java IO Byte Streams - Output
The MVC pattern Meet Little SmallTalk in OOP Swing architecture is rooted in the model-view-controller design that dates back to SmallTalk. MVC architecture calls for a visual application to be broken up into three separate parts: • A Model that represents the data for the application. • The view that is a visualization of that data • The controller that manipulates the view and updates the model
UI in Eliza JPanel JTextArea JLabel JScrollPane JTextField
MVC in Eliza ElizaUI <<ElizaModelInterface>> implements ElizaModel Where is the controller? Why use an interface?
Links • Java tutorial – http://java.sun.com/docs/books/tutorial/ • Swing Trail - http://java.sun.com/docs/books/tutorial/uiswing/index.html • Collections Trail - http://java.sun.com/docs/books/tutorial/collections/index.html • Java 1.5 ‘Tiger’ - http://java.sun.com/developer/technicalArticles/Interviews/hamilton_qa.html
Eliza – sample conversation Hi there Greetings from inside the box. what shall we talk about Does that question interest you? yes Are you sure? yes I am Do you enjoy being ? again yes You seem quite positive. yes Please elaborate I want to know what you would like to hear So what's stop you? you We were discussing you -- not me. damn right Say, do you have any psychological problems? yes You seem quite positive. yes Why do you think so? because i find myself talking with computers Doesn't any other reasons come to mind? nope Can you elaborate on that? I am spending my days in the Technion in the computers lab Do you enjoy being spending my days in the technion in the computers lab ? no! Say again. no Are you sure? yes Are you sure? yes Please elaborate