Newsgroup: it.comp.java
Titolo: Emulare una tastiera è possibile???

Ho un vecchio programma dos che mi crea dei log, soltanto che
bisognerebbe chiudere manualmente ogni giorno il file e riaprirne un
altro con poche pressioni di tasti. Allora ho pensato: "Si potrà emulare
una tastiera con java, che funziona da sola ogni mezzanotte???"
voi che dite sono da ricovero oppure si può fare???
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Certo che è possibile!!!!!!!!! Che figata!!!!!
try{
Robot rob = new java.awt.Robot();
}catch(Exception e){}
            rob.delay(4000);
			rob.keyPress(KeyEvent.VK_C);
			rob.keyRelease(KeyEvent.VK_C);
			rob.delay(100);
			rob.keyPress(KeyEvent.VK_I);
			rob.keyRelease(KeyEvent.VK_I);
			rob.delay(100);
			rob.keyPress(KeyEvent.VK_A);
                        rob.keyRelease(KeyEvent.VK_A);
		        rob.keyPress(KeyEvent.VK_O);
		        rob.keyRelease(KeyEvent.VK_O);


Scsua cosa sono i Robot?
Non fanno parte del Package Standard!!!
Mi dai qualche link dove andare a studiacchiare e per scaricare il Package?

Hey!
Guarda che 'since 1.3' trovi nel package java.awt la classettina Robot!
--
"work relaxing and having fun!
I think that everything is a game
without an 'insert coin'!"
*************************************
          Andrea Musumeci
             programmatore
             java free lance
 
http://www.javalab.it
*************************************

 ha scritto nel messaggio
news:ae4d2c$35qu$1...@stargate1.inet.it...

si che c'č... guarda la documentazione sotto java.awt e cerca la classe
Robot... la trovi... č davvero una figata, non la conoscevo neanch'io!
--
ciao,
iosephus, ego locutus

Maleddit libri.
Ho solo i libri del JDK 1.2 e quindi molte cose non le so.
Mi tocca aggiornarli.

io non li uso nemmeno i libri... "programmo" (si fa per dire) in java da
poco piů di un mese e quando voglio fare qualcosa che non so provo ad
improvvisare e a cercare nella documentazione quel che mi dice l'istinto...
prova a farlo anche tu...
per ora non č che abbia fatto grandi progetti, perň mi č servito molto
agire cosě... almeno so usare abbastanza bene la documentazione!
tempo fa ne volevo comprare uno, ma poi mi era capitata un'occasione
imperdibile (prendere le fotocopie da un mio amico) ma questo qua non si fa
piů sentire e mi sa che non lo prendo piů! (fortunaccia ;-P)


L'uso di una classe tutto sommato non è difficilissimo da fare. Quello che
manca sulla documentzione SUN, sono dei buoni esempi. Su dei buoni libri,
trovi le tipiche problematiche che si affrontano nella realtà e ti spiegano
quali sono le tipiche soluzioni (ovviamente con i limiti del caso e di
quello che può contenere un libro). In più puoi trovare anche ottimi esempi
di stile programmazione migliorando così il proprio.

 ha scritto nel messaggio
news:ae9ipb$636m$1...@stargate1.inet.it...

probabilmente hai ragione...
in effetti, a meno che non si è dei geni, è meglio avere qualche esempio
della generalità dei problemi a portata di mano!


import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
 
    public class RobotDemo {
        public static void main(String args[]) throws AWTException {
 
            // set up frames and panels
 
            JFrame frame = new JFrame("RobotDemo");
            JPanel panel = new JPanel();
            panel.setLayout(new GridLayout(3, 1));
 
            // set up fields, labels, and buttons
 
            final JTextField field = new JTextField(10);
            final JLabel lab = new JLabel();
            field.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    String s = "Length: " +
                        field.getText().length();
                    lab.setText(s);
                }
            });
            JButton button = new JButton("Exit");
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
            });
 
            // add components to panel and display
 
            panel.add(field);
            panel.add(lab);
            panel.add(button);
            frame.getContentPane().add(panel);
            frame.setSize(200, 150);
            frame.setLocation(200, 200);
            frame.setVisible(true);
 
            // create a robot to feed in GUI events
 
            Robot rob = new Robot();
 
            // enter some keystrokes
 
            int keyinput[] = {
                KeyEvent.VK_T,
                KeyEvent.VK_E,
                KeyEvent.VK_S,
                KeyEvent.VK_T,
                KeyEvent.VK_I,
                KeyEvent.VK_N,
                KeyEvent.VK_G
            };
            rob.delay(1000);
            rob.keyPress(KeyEvent.VK_SHIFT);
            field.requestFocus();
            for (int i = 0; i < keyinput.length; i++) {
                rob.keyPress(keyinput[i]);
                rob.delay(1000);
            }
            rob.keyRelease(KeyEvent.VK_SHIFT);
            rob.keyPress(KeyEvent.VK_ENTER);
 
            // move cursor to Exit button
 
            Point p = button.getLocationOnScreen();
            rob.mouseMove(p.x + 5, p.y + 5);
            rob.delay(2000);
 
            // press and release left mouse button
 
            rob.mousePress(InputEvent.BUTTON1_MASK);
            rob.delay(2000);
            rob.mouseRelease(InputEvent.BUTTON1_MASK);
