/*
 * Copyright © 2000-2005 Canoo Engineering AG, Switzerland.
 */
package keyevent;

import com.ulcjava.base.application.AbstractApplication;
import com.ulcjava.base.application.ULCBoxPane;
import com.ulcjava.base.application.ULCButton;
import com.ulcjava.base.application.ULCComponent;
import com.ulcjava.base.application.ULCFrame;
import com.ulcjava.base.application.ULCTextField;
import com.ulcjava.base.application.event.ActionEvent;
import com.ulcjava.base.application.event.IActionListener;
import com.ulcjava.base.application.event.IKeyListener;
import com.ulcjava.base.application.event.KeyEvent;
import com.ulcjava.base.application.util.KeyStroke;
import com.ulcjava.base.development.DevelopmentRunner;

public class KeyEventsSnippet extends AbstractApplication {
	public void start() {
		ULCButton but = new ULCButton("Button");

		final ULCTextField field = new ULCTextField(10);
		field.addKeyListener(new IKeyListener() {

			public void keyTyped(KeyEvent event) {
				System.out.println("Key Typed: " + event.getKeyChar());
			}
		});

		but.addKeyListener(new IKeyListener() {

			public void keyTyped(KeyEvent event) {
				System.out.println("Key Typed: " + event.getKeyChar());
			}
		});

		field.registerKeyboardAction(new IActionListener() {

			public void actionPerformed(ActionEvent event) {
				System.out.println("Keyboard Action");
			}

		}, KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0),
				ULCComponent.WHEN_IN_FOCUSED_WINDOW);

		but.registerKeyboardAction(new IActionListener() {

			public void actionPerformed(ActionEvent event) {
				System.out.println("Keyboard Action");
			}

		}, KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0),
				ULCComponent.WHEN_IN_FOCUSED_WINDOW);
		ULCBoxPane content = new ULCBoxPane(true);
		content.add(ULCBoxPane.BOX_EXPAND_TOP, field);
		content.add(ULCBoxPane.BOX_EXPAND_BOTTOM, but);
		ULCFrame frame = new ULCFrame("ULCTableColDragSnippet");
		frame.setDefaultCloseOperation(ULCFrame.TERMINATE_ON_CLOSE);
		frame.add(content);
		frame.setSize(300, 300);
		frame.setVisible(true);

	}

	public static void main(String[] args) {
		DevelopmentRunner.setApplicationClass(KeyEventsSnippet.class);
		DevelopmentRunner.run();
	}

}
