Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

Java-ohjelmointi

Koska Processing-ohjelmointi käyttää Java:n kirjastoja ja kääntäjää, niin voisi miettiä kannattaako aloittaa suoraan Javasta? Katsotaan ensin kuinka Java-kääntäjä toimii. Käytännössä Java-ohjelmointia tehdään esimerkiksi Eclipse editorilla. Palataan tähän myöhemmin. Mutta katsotaan ensin kuinka Java-kääntäjä toimii.

Lataa Java JDK kääntäjä osoitteesta: https://www.oracle.com/technetwork/java/javase/downloads/index.html

Asenna Java-kääntäjä ja etsi Resurssinhallinnan avulla, missä sijaitsee Java-kääntäjä.
Se on esimerkiksi paikassa: C:\Program Files\Java\jdk-12.0.1\bin

Seuraavaksi aukaise: Ohjauspaneeli -> Järjestelmä ja Suojaus -> Järjestelmä -> Järjestelmän lisäasetukset -> Ympäristömuuttujat

Etsi sieltä kohta Path ja napsauta Muokkaa-painiketta, jolloin aukeaa seuraavanlainen ikkuna. Napsauta nyt Uusi-painiketta ja lisää tänne sen kansion polku, jossa sijaitsee java-kääntäjä javac eli esimerkiksi: C:\Program Files\Java\jdk-12.0.1\bin
Kuittaa lopuksi OK:lla.

Nyt sinulla on Java-ohjelmointiympäristö käytössäsi. Koodin voi kirjoittaa esimerkiksi Muistio-ohjelmalla ja ohjelman voi kääntää ja ajaa DOS-komentoikkunassa.

Aukaise Muistio-ohjelma ja kirjoita sinne seuraava koodi.

import java.applet.*;
import java.awt.*;

public class testi extends Applet {
  public void paint (Graphics g) {
     setBackground(Color.blue);
     g.setColor(Color.green);
     g.fillRect(100,100,200,200);
     g.setColor(Color.yellow);
     Font fontti = new Font("Arial",Font.BOLD, 50);
     g.setFont(fontti);
     g.drawString("MOI",150,200);
  }
}

Eli sen pitäisi näyttää tältä. Huomaa sana testi luokan nimessä. Tämä tiedosto nimetään luokan nimen mukaan eli tallenna se nimellä testi.java (Tiedosto | Tallenna nimellä -> Nimi: testi.java ja Muoto: Kaikki tiedostot)

Aukaise DOS-komentoikkuna ja mene komennolla: cd kansion_nimi siihen kansioon johon olet tallentanut testi.java tiedoston. Kirjoita nyt komento:

javac testi.java

Jos mitään ei tapahdu, niin silloin koodissa ei ole virheitä ja kaikki meni oikein. Javac-kääntäjä käänsi testi.java tiedoston testi.class nimiseksi tiedostoksi, jota nimitetään myös appletiksi. Kun haluamme suorittaa eli katsoa testi.class tiedoston sisällön, niin sitä varten tarvitsemme web-sivun, johon on lisätty tämä appletti. Web-sivulla määräämme myös appletin koon. Aukaise uudestaan muistio ja kirjoita sinne seuraava koodi.


Apletti testi.class on lisätty <applet>-koodin avulla, joka on <body> ja </body> komentojen välissä. Tämä tekstitiedosto on web-sivu, joka sisältää html-koodia. Tallenna se nimellä index.htm (Tiedosto | Tallenna nimellä -> Nimi: index.htm ja Muoto: Kaikki tiedostot) samaan paikkaan kuin edellinen tiedosto.

DOS-komentoikkunassa anna nyt komento: appletviewer index.htm

Ja näet lopputuloksen avautuvassa ikkunassa.

Kuten tämä esimerkki osoitti applettien tekemisessä on kaksi vaihetta. Class-tiedoston tekeminen ja Class-tiedoston ajaminen web-svulla. Class-tiedosto voidaan periaatteessa ajaa missä ympäristössä tahansa, joten se on laitteistoriippumaton. Java-kääntäjä kannattaa aina päivittää uusimpaan versoon, koska Javasta on silloin tällöin paljastunut tietoturva-aukkoja. Joka on yksi syy siihen, että Java on menettänyt suosiota web-sivujen ohjelmointikielenä. JavaScript on käytännössä korvannut Java:lla ja Flash:llä tehtyjä ohjelmia. Javaa käytetään nykyään eniten Android-laitteissa. Mutta esimerkiksi Applen laitteilla Javaa ei voi ajaa, koska se on estetty Applen toimesta.

Jos vielä katsotaan javan-koodia, niin aluksi siinä on tarvittavien Java-kirjastojen kutsut (import-komennot). Koska Java on olio-ohjelmointia, niin ohjelma alkaa luomalla olio eli luokka class. Tämä luokka sisältää taas paint-metodin, johon varsinaiset komennot eli funktiot lisätään. Metodi on julkinen (public) ja ei palauta mitään arvoa (void). Koska heti alussa tulee paljon asioita, jotka ei välttämättä heti aukea, niin Java-ohjelmointia ei yleensä sen takia voi suositella ensimmäiseksi ohjelmointikieleksi. On helpompaa opetella ensin ohjelman perusrakenteita, komentoja ja funktioita esimerkiksi Processing-kielellä ja vasta sitten myöhemmin siirtyä olioihin. Lisä haasteen tuo vielä se, että myös html-koodia pitäisi osata. Tietty samankaltaisuus Processing-kielessä ja Javassa on havaittavissa. Processing-kieli on vaan paljon yksinkertaisempaa kuin Java, mutta kuitenkin yhtä tehokasta kuin Java.

Jos kuitenkin haluat tehdä enemmän Java-ohjelmointia, niin asenna siinä tapauksessa Eclipse niminen editori, joka löytyy osoitteesta:
https://www.eclipse.org/downloads/

Kun asennat Eclipsen, niin asenna siihen Eclipse IDE for Java Developers


Asennuksen jälkeen ensimmäinen appletti saadaan aikaiseksi seuraavasti.

1. Ota komento: File | New | Java Project ja anna Projektille nimi (Project name), esimerkiksi kirjoita: Testi ja paina Finnish-painiketta.
2. Ota komento: File | New | Class ja anna luokalle nimi (Name), esimerkiksi kirjoita: Main ja paina Finnish-painiketta.

Nyt sinulla on luotuna julkinen luokka Main ja Main.java niminen tekstitiedosto ja pääset kirjoittamaan Java-koodia. Eli täydennä koodi kuten edellä tehtiin.

Ennen kuin ajat koodin, niin muutetaan vielä applet-ikkunan koko ottamalla komento: Run | Run Configurations... ja avautuvasta ikkunasta valitse Parameters-välilehti. Laita ikkunan leveyHdeksi (Width) 400 ja korkeudeksi (Height) 400. Lopuksi paina Close.

Lopuksi aja ohjelma ottamalla komento: Run | Run tai painamalla komentopalkissa painiketta, jossa on vihreä ympyrä, jonka sisällä on valkea kolmio.

Huomioita

  • Huono kieli aloittelijalle. Komennot pitkiä. Oliot, luokat ja metodit tulee heti alussa.
  • Olio-ohjelmointi poikkeaa perinteisestä ohjelmointityylistä, jossa komentoja annetaan peräkkäisinä komentoina ja funktioina, siksi en suosittele Java-ohjelmointia ensimmäiseksi ohjelmointikieleksi. Muuten joutuu kirjoittamaan aluksi koodia, jota ei täysin ymmärrä.
  • Olio-ohjelmointia voi myös käydä muillakin ohjelmointi-kielillä, kuten esimerkiksi: Python, JavaScript, Processing, P5JS, sekä C/C++/C# -kielet. Esimerkiksi C++ kieli muistuttaa hyvin paljon Javaa.
  • Opettele Javaa, jos haluat työskennellä koodarina. Mutta aloita ensin Processing-kielestä, koska Processing-kielellä voit myös opetella funktionaalista ohjelmointityyliä, niin näet näiden eron.
  • Paljon ohjeita on saatavina Internetissä.
  • Java-kääntäjiä on saatavana myös Internetissä selaimessa toimivina versioina, mutta yleensä ne toimivat konsoli-ikkunnassa eli eivät toista Appletteja.
  • Java ei varmaan häviä käytöstä, mutta menettää suosiota JavaScript/HTML5 kielelle.