\(\renewcommand{\vec}[1]{\mathbf{#1}} \DeclareMathOperator*{\sijoitus}{\Big/} \newcommand{\eval}[2]{\sijoitus_{\kern-0.7em#1}^{\kern0.7em#2}\!} \)

5.4.2 Ohjelman sammutus

Aiemmin tehdyssä ohjelmassa on pieni hankaluus. Se ei nimittäin lopeta toimintaansa, vaikka käyttöliittymäikkunan sammuttaisi. Tämä ominaisuus saadaan toimimaan lisäämällä Kayttoliittyma-luokan loppuun seuraava vähän pelottavan näköinen koodi (punaisella). Ei haittaa, vaikka et ymmärrä joka kohtaa. Asiat selviävät aikanaan.
class Kayttoliittyma{ private JFrame taustaruutu; private String tekija; private JLabel kyltti; public Kayttoliittyma(String nimi) { taustaruutu = new JFrame(); // Luodaan uusi ikkuna. tekija = nimi; // Otetaan talteen tekijän nimi. taustaruutu.setPreferredSize(new Dimension(300, 200)); // Kokotoive. taustaruutu.setVisible(true); // Ikkuna näkyväksi. taustaruutu.setTitle("Eka oma GUI by " + tekija); // Otsikon asetus. taustaruutu.pack(); // Säätää koon setPreferredSize-komennon mukaan. // Tässä lisätään ikkunaan kuuntelija, joka sammuttaa ohjelman, jos // ikkuna suljetaan. taustaruutu.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } }