/* Esimerkki: ValintaTesti.java. Tekijä: Juha Peltomäki, 9.1998. Toiminta: Esimerkki valintojen tekemisestä valintalistasta. Ohjelmassa valitaan listasta taustaväri, joka muutetaan käyttäjän tuplaklikkauksen jälkeen. */ import java.awt.*; import java.applet.*; import java.awt.event.*; public class ValintaTesti extends Applet { private List varilista; private String varien_nimet[] = { "valkoinen", "musta", "sininen", "vihreä", "punainen", "keltainen", "harmaa", "vaaleanpunainen" }; private Color varit[] = { Color.white, Color.black, Color.blue, Color.green, Color.red, Color.yellow, Color.darkGray, Color.pink }; private TextField t; public void init() { // Lisätään värit värilistaan varilista = new List(8, true); for (int i = 0; i < varien_nimet.length; i++) varilista.add(varien_nimet[i]); varilista.addActionListener(new ValintaKuuntelu()); varilista.addItemListener(new AlkioKuuntelu()); add(varilista); } /* Tapahtumankäsittelijä valintalistalle */ public class ValintaKuuntelu implements ActionListener { public void actionPerformed(ActionEvent tapahtuma) { int valittu_ind = varilista.getSelectedIndex(); if (valittu_ind >= 0) setBackground(varit[valittu_ind]); repaint(); } } public class AlkioKuuntelu implements ItemListener { public void itemStateChanged(ItemEvent tapahtuma) { // Jos on ei ole valittu yhtään tai on valittu useampi kuin yksi, // poistetaan "kaikki valinnat". if (varilista.getSelectedIndex() == -1) { for (int i = 0; i < varien_nimet.length; i++) varilista.deselect(i); } else { showStatus("Viimeksi valittu listan alkio: " + varilista.getSelectedIndex() + " " + varilista.getSelectedItem()); } } } }