/* Ohjelmassa esitellään erilaisien syöttöelementtien ryhmittelyä lomakkeelle. Lisäksi reagoidaan jokaiseen syöttöelementtiin kohdistuvaan tapahtumaan asianmukaisella metodilla. Käyttää Java 1.0:n tapahtumankäsittelymallia. Tekijä: Juha Peltomäki 5.1998 */ import java.awt.*; import java.applet.*; public class SummaaValikko extends Applet { String ValikkoTapahtuma = null; Choice valikko = new Choice(); Label kysymys1 = new Label("Ikä:"); Label kysymys2 = new Label("Mihin ryhmään kuulut:"); Label kysymys3 = new Label("Nimi:"); CheckboxGroup ryhma = new CheckboxGroup(); TextField nimi = new TextField(25); Font iso = new Font("Arial", Font.BOLD, 20); Font kk = new Font("Arial", Font.PLAIN,16); Panel luokittelu_paneeli = new Panel(); Panel nimi_paneeli = new Panel(); // Panel luokittelu_paneeli = new Panel(); String valikko_valinta, radio_valinta, teksti_valinta; public void init() { valikko.addItem("alaikäinen"); valikko.addItem("12-17"); valikko.addItem("18-40"); valikko.addItem("41-65"); valikko.addItem("65-120"); add(kysymys1); add(valikko); luokittelu_paneeli.setLayout(new GridLayout(4,1)); luokittelu_paneeli.add(kysymys2); luokittelu_paneeli.add(new Checkbox("Työntekijä", ryhma, false)); luokittelu_paneeli.add(new Checkbox("Opiskelija", ryhma, false)); luokittelu_paneeli.add(new Checkbox("Työtön", ryhma, false)); add(luokittelu_paneeli); nimi_paneeli.add(kysymys3); nimi_paneeli.add(nimi); add(nimi_paneeli); } public void kasittele_valikko(Choice valinta) { valikko_valinta = valinta.getItem(valinta.getSelectedIndex()); repaint(); } public void kasittele_radiopainikkeet(Checkbox painike) { if (painike.getLabel() == "Työntekijä" ) radio_valinta = "Työntekijä"; else if (painike.getLabel() == "Opiskelija" ) radio_valinta = "Opiskelija"; else if (painike.getLabel() == "Työtön" ) radio_valinta = "Työtön"; repaint(); } public void kasittele_tekstikentta(TextField syote) { teksti_valinta = syote.getText(); repaint(); } public boolean action(Event tapahtuma, Object objekti) { valikko_valinta = radio_valinta = teksti_valinta = null; if (tapahtuma.target instanceof Choice) kasittele_valikko((Choice)tapahtuma.target); else if (tapahtuma.target instanceof Checkbox) kasittele_radiopainikkeet((Checkbox)tapahtuma.target); else if (tapahtuma.target instanceof TextField) kasittele_tekstikentta((TextField)tapahtuma.target); return true; } public void paint(Graphics g) { g.setFont(iso); g.drawString("Viimeisen valinnan tulos", 30, 160); g.setFont(kk); if (valikko_valinta != null) g.drawString("Ikä: " + valikko_valinta, 30, 180); else if (radio_valinta != null) g.drawString("Ryhmä: " + radio_valinta, 30, 180); else if (teksti_valinta != null) g.drawString("Nimi: " + teksti_valinta, 30, 180); } }