import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ListaDialogi extends JApplet { // Esitellään private String otsikko = "Valitse suosikkikielesi"; private String viesti = "Valitse suosikkikielesi:"; private JButton painike = new JButton(viesti); // vaihtoehdot private Object[] valinnat = { "JavaScript", "Java", "Perl","C", "C++", "Pascal" }; public ListaDialogi() { // Otetaan ikkunan sisältö muuttujaan Container sisaltoruutu = getContentPane(); sisaltoruutu.setLayout(new FlowLayout()); sisaltoruutu.add(painike); // lisätään valintalistalle tapahtumankuuntelija painike.addActionListener(new ValintaKuuntelija()); } class ValintaKuuntelija implements ActionListener { public void actionPerformed(ActionEvent e) { // Luodaan uusi syöttödialogi, johon lisätään valinnat-lista // Oletusvalinta on listan viiden alkio. String mj = (String)JOptionPane.showInputDialog( ListaDialogi.this, viesti, otsikko, JOptionPane.QUESTION_MESSAGE, null, valinnat, valinnat[4]); if (mj == null) // viestidialogi palauttaa null, jos painoit CANCEL-painiketta JOptionPane.showMessageDialog(ListaDialogi.this, "Painoit cancel-painiketta"); else { // Varmistetaan vastaus varmistusdialogilla. int palautus = JOptionPane.showConfirmDialog( ListaDialogi.this, mj + "? Oletko aivan varma?", "Kuinka?", JOptionPane.INFORMATION_MESSAGE); if (palautus != JOptionPane.CANCEL_OPTION && palautus != JOptionPane.NO_OPTION) JOptionPane.showMessageDialog(ListaDialogi.this,"Valitsit " + mj + " kielen."); else JOptionPane.showMessageDialog(ListaDialogi.this,"Peruutit valinnan"); } } } }