import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JTextArea;


public class ExtendedKeyCodeExample {
	
	@SuppressWarnings("unused")
	private static ExampleFrame frame;
	
	public static void main(String[] args) {
		int [] extKeyCodes = {73, 79, 80, 	// i, o, p
				16777413,		// å
				16777412,		// ä
				16777430,		// ö
				76, 75, 74};		// l, k, j
		
		frame = new ExampleFrame();
		try {
			Robot robot = new Robot();
			robot.setAutoDelay(300);
			robot.mouseMove(150, 150);
			robot.mousePress(InputEvent.BUTTON1_MASK);
			robot.mouseRelease(InputEvent.BUTTON1_MASK);
			for (int i = 0; i < extKeyCodes.length; i++) {
				robot.keyPress(extKeyCodes[i]);
				robot.keyRelease(extKeyCodes[i]);
			}
		} catch (AWTException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	@SuppressWarnings("serial")
	private static class ExampleFrame extends JFrame {
		
		ExampleFrame() {
			this.setTitle("Robot will write here in this frame...");
			JTextArea textArea = new JTextArea(25, 50);
			this.add(textArea);
			this.addWindowListener(new WindowAdapter() {
				public void windowClosing(WindowEvent e) {
					System.exit(0);
				}
			});
			this.pack();
			this.setVisible(true);
		}
		
	}

}

