;; Create the widgets
(defglobal ?*f* = (new java.awt.Frame "Button Demo"))
(defglobal ?*b* = (new java.awt.Button "Hello"))
;; Define the deffunction
(deffunction say-hello "Unconditionally print a message" (?evt)
(printout t "Hello, World!" crlf))
;; Connect the deffunction to the button
(?*b* addActionListener
(new jess.awt.ActionListener say-hello (engine)))
;; Assemble and display the GUI
(?*f* add ?*b*)
(?*f* pack)
(set ?*f* visible TRUE)
AWT Examples
Demos
Java files needed:Card.java Cards.java
(bind ?pt (new java.awt.Point))
(set-member ?pt x 37)
(set-member ?pt y 42)
(get-member ?pt x)
(get-member System out)
the representation can be :
Example
Java program:
public class NameBean
{
private String name = "Bob";
public String getName() { return name; }
public void setName(String s) { name = s; }
}
(defclass simple NameBean)
(ppdeftemplate simple)
(bind ?sb (new NameBean))
(definstance simple ?sb static)
(facts)
(call ?sb setName "Fred")
(facts)
Demo: dname.clp
java source: DynamicBean.java
jess source: dname.clp
Demo: vector.clp
java source: Vector.java
jess source: vector.clp
(deftemplate automobile "A specific car."
(slot make)
(slot model)
(slot year (type INTEGER))
(slot color (default white)))
(deftemplate used-auto extends automobile
(slot mileage)
(slot blue-book-value)
(multislot owners))
public void addInputRouter(String s, Reader is, boolean consoleLike)
public void addOutputRouter(String s, Writer os)
Previous Jess Introduction Up TOC Next Efficiency in Rule-based Languages