HelloWindow.java

00001 package com.declarativa.interprolog.examples;
00002 import com.declarativa.interprolog.*;
00003 import com.declarativa.interprolog.util.*;
00004 import javax.swing.*;
00005 import java.awt.*;
00006 import java.awt.event.*;
00007 public class HelloWindow extends JFrame{
00008         PrologEngine myEngine;
00009         public HelloWindow(PrologEngine pe){
00010                 super("Java-Prolog-Java call example");
00011                 myEngine = pe;
00012                 JTextField text = new JTextField(15);
00013                 final Object fieldObject = myEngine.makeInvisible(text);
00014                 text.setBorder(BorderFactory.createTitledBorder("text"));
00015                 JButton button = new JButton("Greet");
00016                 Box box = new Box(BoxLayout.Y_AXIS);
00017                 box.add(text); box.add(button);
00018                 getContentPane().add(box);
00019                 setSize(200,100); show();
00020                 
00021                 button.addActionListener(
00022                         new ActionListener(){
00023                                 public void actionPerformed(ActionEvent e){
00024                                         myEngine.deterministicGoal("greetat(Obj)","[Obj]",new Object[]{fieldObject});
00025                                 }
00026                         });
00027         }
00028 }
00029 /*
00030 In Prolog call this to create the window:
00031 ipPrologEngine(Engine), javaMessage('HelloWindow','HelloWindow'(Engine)).
00032 
00033 then
00034 assert( (greetat(TextID) :- javaMessage( TextID, setText(string('Hello world!')) )) ).
00035 
00036 */

Generated on Wed Jul 26 13:30:44 2006 for XSB by  doxygen 1.4.5