import javax.swing.*;
import java.awt.event.ActionEvent;

import snow.*;

public class HelloWorld {
    /** submit counter */
    private int clicks;
    
    /** JTextField member; gets injected by Snow (look for :id tf in the Lisp file) */
    private JTextField tf;
    
    /** Jlabel to display number of button clicks */
    private JLabel cnt;

    /**
     * Event handler.
     * Appends a '#' to the textfields content and increments the number of
     * clicks displayed by the label.
     */   
    public void submit(ActionEvent e) {
	tf.setText(tf.getText() + '#');
	cnt.setText(String.valueOf( ++clicks ));
    }

    /** Renders UI at construction */
    private HelloWorld() throws Exception {
	Snowlet s = Snow.getInterpretedSnowlet(getClass().getResource("helloworld_j.lisp"));
	s.setBackingBean(this);
	s.eval();
    }

    /** Makes the class bootable */
    public static void main( String[] args ) throws Exception {
	new HelloWorld();
    }

    public JTextField getTf() {
	return tf;
    }

    public void setTf(JTextField tf) {
	this.tf = tf;
    }

    public JLabel getCnt() {
	return cnt;
    }

    public void setCnt(JLabel cnt) {
	this.cnt = cnt;
    }

}