Syöttökenttä Javan avulla Processing-ohjelmaan
Processing-ohjelmassa ei ole syöttökenttää tekstille. Koska Processing-ohjelman taustalla pyörii Java-kääntäjä, niin voit ottaa käyttöön Javan syöttökentän komennolla: String muuttuja = showInputDialog("Tekstiä"); Tämä komento löytyy Javan kirjastosta: javax.swing.JOptionPane.*. Jotta voit käyttää tätä komentoa Processing-ohjelmassa, niin lisää kirjaston kutsukomento: import static javax.swing.JOptionPane.*; heti ohjelman alkuun.
Tehdään edellinen esimerkki uudestaan käyttäen Javan tekstisyöttökenttää.
// Ohjelman tehnyt e-Oppi Oy
// 1.1.2018
import static javax.swing.JOptionPane.*;
void setup () {
size(400,400); // ikkunan koko
fill(0); // Tekstinväri musta
background(255); // Taustaväri valkoinen
textSize(20); // Tekstin koko 20
noLoop(); // void draw ()-lohko suoritetaan vain kerran
}
void draw () {
String vastaus1 = showInputDialog("Anna luku 1"); // Kysy ensimmäinen luku
String vastaus2 = showInputDialog("Anna luku 2"); // Kysy toinen luku
int luku1= int(vastaus1); // Konversio merkkijonosta kokonaisluvuksi
int luku2 = int(vastaus2); // Konversio merkkijonosta kokonaisluvuksi
text(luku1+" + "+luku2+" = "+(luku1+luku2),20,100); // Tulosta vastaus
}
Myös tässä on käytettävä konversiota: int(vastaus1) ja int(vastaus2), jotta saat muutettua syötettä vastaavan merkin kokonaisluvuksi. Kun ajat ohjelman, syöttökenttä näyttää tältä.

Ohjelma toimii muuten oikein, paitsi jos painaa Cancel-painiketta, tällöin ohjelma kaatuu. Ongelma tulee siinä, kun yritämme konversiolla muuttaa null-arvoa kokonaisluvuksi. Kun teemme seuraavan lisäyksen koodiin, niin ohjelma toimii myös silloin kun painetaan Cancel-painiketta. Ohjelma tulkitsee luvun silloin nollaksi.
// Ohjelman tehnyt e-Oppi Oy
// 1.1.2018
import static javax.swing.JOptionPane.*;
void setup () {
size(400,400); // ikkunan koko
fill(0); // Tekstinväri musta
background(255); // Taustaväri valkoinen
textSize(20); // Tekstin koko 20
noLoop(); // void draw ()-lohko suoritetaan vain kerran
}
void draw () {
String vastaus1 = showInputDialog("Anna luku 1"); // Kysy ensimmäinen luku
String vastaus2 = showInputDialog("Anna luku 2"); // Kysy toinen luku
int luku1 = 0;
int luku2 = 0;
if (vastaus1 != null) { // Jos vastaus1 ei ole Cancel (= null), niin tee
luku1= int(vastaus1); // konversio merkkijonosta kokonaisluvuksi
}
if (vastaus2 != null) { // Jos vastaus2 ei ole Cancel (=null), niin tee
luku2 = int(vastaus2); // konversio merkijonosta kokonaisluvuksi
}
text(luku1+" + "+luku2+" = "+(luku1+luku2),20,100); // Tulosta vastaus
}
If-lauseeseen tutustumme seuraavassa kappaleessa.