Ho trovato la soluzione:
codice:
public class ButtonContinua extends JButton implements ActionListener{
// private final Scanner s = new Scanner(System.in);
private final PipedInputStream stdinPipedInput;
private final PipedOutputStream stdinPipedOutput;
private final PrintStream stdinStream;
public ButtonContinua(String contenuto) throws IOException{
super(contenuto);
stdinPipedInput = new PipedInputStream();
stdinPipedOutput = new PipedOutputStream(stdinPipedInput);
stdinStream = new PrintStream(stdinPipedOutput, true); // autoFlush
setVisible(true);
addActionListener(this);
}
public InputStream getIn() {
return stdinPipedInput;
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println("\n");
// s.nextLine();
stdinStream.println("\n");
}
}
Ora c'è un altro piccolo problema: quando premo il pulsante innesco un "doppio Enter", ossia do il segnale a DUE pressEnter consecutivi.
Ho provato (come si vede nel codice) a inserire un nextLine() extra sperando che "consumasse" uno dei due Enter, ma l'unico risultato è il blocco del programma, probabilmente in attesa di un Enter che non arriverà mai. Idee?