$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(); } }