Example - Jeval - single user GUI
This is a simple example of communication between Java and Prolog where
Java is the server and prolog is the client.
Instructions
1. Change directory to jeval/ and start a jeval server with
java -jar jeval.jar
The server will listen for connections at port 7138.
2. Change directory to examples/jeval/ and start sicstus with
sicstus -l jeval_eval
Then start the jeval client with start.. It will connect to
the server and send information about how its GUI should look like in
Java code (BeanShell scripted). In this example it is the following code
that describes the GUI:
jeval:jeval('window=new JFrame("Jeval Demo");\c
pane = window.getContentPane();\c
pane.setLayout(new GridLayout(0,1));\c
pane.add(new JLabel("Enter expression"));\c
expr = new JTextField("5 * 7");\c
pane.add(expr);\c
result = new JLabel("Result:");\c
pane.add(result);\c
button = new JButton("Evaluate!");\c
pane.add(button);\c
window.show();\c
window.pack();\c
window.setLocation(100, 100);\c
jeval.addActionListener("button");\c
jeval.addActionListener("expr");')
When you have successfully started the jeval_eval example you will see
a small window looking like the screenshot below.
Source Code
The code of the Jeval example
jeval_eval.pl.