advertisement

Java Virtual Keyboard Using Robot, Toolkit and JToggleButton Classes

67 %
33 %
advertisement
Information about Java Virtual Keyboard Using Robot, Toolkit and JToggleButton Classes
Education

Published on March 12, 2014

Author: absherzad

Source: slideshare.net

Description

A Virtual Keyboard is considered to be a component to use on computers without a real keyboard e.g. Touch Screen Computers and Smart Phones; where a mouse can utilize the keyboard functionalities and features.
In addition, Virtual Keyboard used for the following subjects: Foreign Character Sets, Touchscreen, Bypass Key Loggers, etc.
advertisement

https://www.facebook.com/Oxus20 oxus20@gmail.com JAVA Virtual Keyboard » Exception Handling » JToggleButton Class » Robot Class » Toolkit Class Prepared By: Nahid Ahmadi Edited By: Abdul Rahman Sherzad

Agenda » Virtual Keyboard » Exception Handling » JToggleButton Class » Robot Class » Toolkit Class » Virtual Keyboard Implementation 2 https://www.facebook.com/Oxus20

https://www.facebook.com/Oxus20 3

Virtual Keyboard Using JAVA 4 https://www.facebook.com/Oxus20

Introduction to Virtual Keyboard » A virtual keyboard is considered to be a component to use on computers without a real keyboard e.g. ˃ touch screen computer » A mouse can utilize the keyboard functionalities and features. 5 https://www.facebook.com/Oxus20

Virtual Keyboard Usage » It is possible to obtain keyboards for the following specific purposes: ˃ Keyboards to fill specific forms on sites ˃ Special key arrangements ˃ Keyboards for dedicated commercial sites ˃ etc. » In addition, Virtual Keyboard used for the following subjects: ˃ Foreign Character Sets ˃ Touchscreens ˃ Bypass key loggers 6 https://www.facebook.com/Oxus20

https://www.facebook.com/Oxus20 7

Exception Handling » A program can be written assuming that nothing unusual or incorrect will happen. ˃ The user will always enter an integer when prompted to do so. ˃ There will always be a nonempty list for a program that takes an entry from the list. ˃ The file containing the needed information will always exist. » Unfortunately, it isn't always so. » Once the core program is written for the usual, expected case(s), Java's exception-handling facilities should be added to accommodate the unusual, unexpected case(s). 8

Exception Hierarchy 9 https://www.facebook.com/Oxus20

Exception Handling Demo Source code public class ExceptionHandlingDemo { public static void main(String args[]) { try { int scores[] = { 90, 85, 75, 100 }; System.out.println("Access element nine:" + scores[9]); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Exception thrown:" + e); } System.out.println("nWithout Exception Handling I was not able to execute and print!"); } } 10 https://www.facebook.com/Oxus20

Exception Handling Demo OUTPUT Exception thrown:java.lang.ArrayIndexOutOfBoundsEx ception: 9 Without Exception Handling I was not able to execute and print! 11 https://www.facebook.com/Oxus20

https://www.facebook.com/Oxus20 12

JToggleButton Class » JToggleButton is an implementation of a two-state button and is used to represent buttons that can be toggled ON and OFF » The JRadioButton and JCheckBox classes are subclasses of this class. » The events fired by JToggleButtons are slightly different than those fired by JButton. 13 https://www.facebook.com/Oxus20

JToggleButton Demo » The following example on next slide demonstrates a toggle button. Each time the toggle button is pressed, its state is displayed in a label. » Creating JToggleButton involves these steps: 1. Create an instance of JToggleButton. 2. Register an ItemListener to handle item events generated by the button. 3. To determine if the button is on or off, call isSelected(). 14 https://www.facebook.com/Oxus20

JToggleButton Demo Source Code import java.awt.FlowLayout; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JToggleButton; class JToggleButtonDemo { JLabel lblOutput; JToggleButton btnOnOff; JFrame win; JToggleButtonDemo() { // JFrame Customization win = new JFrame("Using JToggleButton"); win.setLayout(new FlowLayout()); win.setSize(300, 80); win.setLocationRelativeTo(null); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 15 https://www.facebook.com/Oxus20

// JToggleButton and JLabel Customization lblOutput = new JLabel("State : OFF"); btnOnOff = new JToggleButton("On / Off", false); // Add item listener for JToggleButton. btnOnOff.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent ie) { if (btnOnOff.isSelected()) { lblOutput.setText("State : ON"); } else { lblOutput.setText("State : OFF"); } } }); // Add toggle button and label to the content pane. win.add(btnOnOff); win.add(lblOutput); win.setVisible(true); } public static void main(String args[]) { new JToggleButtonDemo(); } } 16 https://www.facebook.com/Oxus20

JToggleButton Demo OUTPUT 17 https://www.facebook.com/Oxus20

https://www.facebook.com/Oxus20 18

Java Robot Class » This class is used to generate native system input events for the purposes of ˃ test automation ˃ self-running demos ˃ and other applications where control of the mouse and keyboard is needed. » This class has three main functionalities: ˃ mouse control ˃ keyboard control ˃ and screen capture. https://www.facebook.com/Oxus20 19

Robot Class Demo » Perform keyboard operation with help of java Robot class. » The following example on next slide will demonstrate the Robot class usage to handle the keyboard events. » The program will write the word "OXUS20" inside the TextArea automatically after running the program. » The word "OXUS20" will be written character by character with one second delay between each on of the characters. 20 https://www.facebook.com/Oxus20

Robot Class Demo Source Code import java.awt.AWTException; import java.awt.BorderLayout; import java.awt.Robot; import java.awt.event.KeyEvent; import javax.swing.JFrame; import javax.swing.JTextArea; public class RobotDemo extends JFrame { public RobotDemo() { // JFrame with TextArea Settings setTitle("OXUS20 Robot Demo"); setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); JTextArea txtOXUS = new JTextArea(); add(txtOXUS, BorderLayout.CENTER); setVisible(true); } 21 https://www.facebook.com/Oxus20

public static void main(String[] args) { new RobotDemo(); // Store Keystrokes "OXUS20" in an array int keyInput[] = { KeyEvent.VK_O, KeyEvent.VK_X, KeyEvent.VK_U, KeyEvent.VK_S, KeyEvent.VK_2, KeyEvent.VK_0 }; try { Robot robot = new Robot(); // press the shift key robot.keyPress(KeyEvent.VK_SHIFT); // This types the word 'OXUS20' in the TextArea for (int i = 0; i < keyInput.length; i++) { if (i > 0) { robot.keyRelease(KeyEvent.VK_SHIFT); } robot.keyPress(keyInput[i]); // pause typing for one second robot.delay(1000); } } catch (AWTException e) { System.err.println("Exception is happening!"); } } // end of main() } // end of RobotDemo class 22 https://www.facebook.com/Oxus20

https://www.facebook.com/Oxus20 23

Toolkit class » Toolkit is an AWT class acting as a base class for all implementations of AWT. » This class offers a static method getDefaultToolkit() to return a Toolkit object representing the default implementation of AWT. » You can use this default toolkit object to get information of the default graphics device, the local screen, and other purposes. » Next slide demonstrate an example finding out the actual size and resolution of your screen. 24 https://www.facebook.com/Oxus20

Toolkit Class Demo Source Code import java.awt.Dimension; import java.awt.Toolkit; public class ToolkitDemo { public static void main(String[] a) { Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); System.out.println("Screen size: " + d.width + "x" + d.height); System.out.println("nScreen Resolution: " + tk.getScreenResolution()); } } 25 https://www.facebook.com/Oxus20

Toolkit Class Demo OUTPUT Screen Size: 1366x768 Screen Resolution: 96 26 https://www.facebook.com/Oxus20

Another Toolkit Example » Change the state of the Caps Lock key ˃ If Caps Lock key is ON turn it OFF ˃ Otherwise, if Caps Lock key is OFF turn it ON » Toolkit.getDefaultToolkit().setLockingKeyState( KeyEvent.VK_CAPS_LOCK, false); ˃ This line of code will change the state of the Caps Lock key OFF. » Toolkit.getDefaultToolkit().setLockingKeyState( KeyEvent.VK_CAPS_LOCK, true); ˃ This line of code will change the state of the Caps Lock key ON. » Accordingly the keyboard LEDs flash will become ON or OFF. 27 https://www.facebook.com/Oxus20

Another Toolkit Class Demo Source Code import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JToggleButton; class ChangeCapsLockStateDemo { JLabel lblOutput; JToggleButton btnOnOff; JFrame win; ChangeCapsLockStateDemo() { // JFrame Customization win = new JFrame("Using JToggleButton"); win.setLayout(new FlowLayout()); win.setSize(300, 80); win.setLocationRelativeTo(null); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 28 https://www.facebook.com/Oxus20

// JToggleButton and JLabel Customization lblOutput = new JLabel("CapsLock : OFF"); Toolkit.getDefaultToolkit().setLockingKeyState(KeyEvent.VK_CAPS_LOCK, false); btnOnOff = new JToggleButton("On / Off", false); // Add item listener for JToggleButton. btnOnOff.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent ie) { if (btnOnOff.isSelected()) { lblOutput.setText("CapsLock : ON"); Toolkit.getDefaultToolkit().setLockingKeyState(KeyEvent.VK_CAPS_LOCK, true); } else { lblOutput.setText("CapsLock : OFF"); Toolkit.getDefaultToolkit().setLockingKeyState(KeyEvent.VK_CAPS_LOCK, false); } } }); // Add toggle button and label to the content pane. win.add(btnOnOff); win.add(lblOutput); win.setVisible(true); } public static void main(String args[]) { new ChangeCapsLockStateDemo(); } } 29 https://www.facebook.com/Oxus20

Another Toolkit Class Demo OUPUT 30 https://www.facebook.com/Oxus20

https://www.facebook.com/Oxus20 31

Java Virtual Keyboard Source Code import java.awt.AWTException; import java.awt.Color; import java.awt.Robot; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JToggleButton; public class JavaVirtualKeyboard implements ActionListener, ItemListener { 32 https://www.facebook.com/Oxus20

Java Virtual Keyboard OUTPUT 33 https://www.facebook.com/Oxus20

Complete Source Code will be published very soon Check Our Facebook Page (https://www.facebook.com/Oxus20) 34 https://www.facebook.com/Oxus20

END https://www.facebook.com/Oxus20 35

Add a comment

Related presentations

Related pages

GitHub - oxus20/Java-VirtualKeyboard: A Virtual Keyboard ...

oxus20 / Java -VirtualKeyboard. Code ... the mouse and keyboard is needed. java.awt.Robot class has the ... absherzad/java-virtual-keyboard-using-robot ...
Read more

Robot (Java Platform SE 7 ) - Oracle Help Center

Class Robot. java.lang.Object; java ... automated testing of Java platform implementations. Using the class to generate input events ... depends on a ...
Read more

An Automated Test Program using the Java Robot Class ...

An Automated Test Program using the Java Robot ... and the Java virtual machine working ... this class contains eight JToggleButton objects ...
Read more

A Java Robot class mouse and keyboard/keystroke example ...

Java Robot class FAQ: Can you show me an example of how to use the Java Robot class? Answer: Um, yeah, sure ... I say that a little jokingly. Okay, what ...
Read more

awtrobot - Java input method for Virtual Keyboard - Stack ...

I am facing a problem in implementing Input method for Virtual Keyboard. Currently I am using robot class for sending input to any application from virtual ...
Read more

AbstractButton (Java Platform SE 7 ) - Oracle Help Center

This class implements accessibility support for the AbstractButton class. ... toolkit internally and ... keyboards may be obtained through java.awt ...
Read more

swing - Robot class java , typing a string issue - Stack ...

Robot class java , typing a string issue. ... The Robot class uses key codes which are ... I need to send an arbitrary text string using java.awt.Robot.send()
Read more

Introduction to the Java Robot Class - in Java by Richard ...

Introduction to the Java Robot Class ... gain control of the mouse and keyboard. (The Robot class also provides ... Using a Robot object to enter ...
Read more