$package
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.SwingConstants;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.GridLayout;
import java.awt.FlowLayout;
import javax.swing.BoxLayout;
import org.jcsp.lang.*;
import java.math.BigInteger;
$imports
public class $className extends javax.swing.JFrame implements CSProcess {
private String processName;
JTextArea area = new JTextArea (7, 20);
JScrollPane scroll;
$chanDecl
public $className (String processName $chanParam) {
this.processName = processName;
$chanAssign
}
private void initComponents() {
area.setEditable(false);
scroll = new JScrollPane (area);
this.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
this.setTitle(this.processName);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
//Create and set up the content pane.
javax.swing.JComponent contentPane = new javax.swing.JPanel();
contentPane.setOpaque(true);
contentPane.setBorder(javax.swing.BorderFactory.createEmptyBorder(3, 3, 3, 3));
this.setContentPane(contentPane);
this.getContentPane().setLayout(new BoxLayout (this.getContentPane(), BoxLayout.Y_AXIS)/*GridLayout(0, 3, 3, 3)*/);
$chanInit
this.getContentPane().add(scroll);
this.pack();
}
$chanActPerf
/* Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
public void run() {
(new CSProcess() {
private void initGui() {
initComponents();
setLocation(10, 10);
show();
}
public void run(){
initGui();
}
}).run();
}
}