-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathflowerExpert.clp
35 lines (30 loc) · 1.06 KB
/
flowerExpert.clp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
(import javax.swing.*)
(import java.awt.*)
(import java.awt.event.*)
(import java.awt.event.WindowEvent)
;;initialize variables
(defglobal ?*frame* = (new Frame "Flower Expert System"))
(defglobal ?*submitBtn* = (new Button "Submit"))
(defglobal ?*questionLable* = (new Label "Question"))
(defglobal ?*ResultLable* = (new Label "Result"))
(defglobal ?*input* = (new TextField "Enter Your answer here"))
;;size
(?*frame* setSize 400 400)
(?*questionLable* setBounds 20 20 60 20)
(?*submitBtn* setBounds 0 80 20 20)
(?*ResultLable* setBounds 20 100 100 100)
(?*input* setBounds 20 80 150 40)
;;events
(?*submitBtn* addActionListener (implement ActionListener using (lambda (?name ?evt)
(printout t "Hello, World!" crlf))))
;;add components
(?*frame* add ?*input*)
(?*frame* add ?*ResultLable*)
(?*frame* add ?*questionLable*)
(?*frame* add ?*submitBtn*)
;;(?*frame* pack)
(set ?*frame* visible TRUE)
;;exit frame
(?*frame* addWindowListener (implement WindowListener using (lambda (?name ?event)
(if (= (?event getID) (WindowEvent.WINDOW_CLOSING)) then
(exit)))))