Valutakalkulator.java [Last ned]

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import static java.lang.Double.*;
 
public class Valutakalkulator extends JFrame implements ActionListener {
 
  JButton beregn;
  JTextField inn, ut;
  JComboBox liste;
  String[] valutakode = {"EUR", "USD", "GBP"};
  double[] valutakurs = { 7.75,  5.60,  8.78};
 
  public static void main(String[] args) {
    Valutakalkulator vindu = new Valutakalkulator();
    vindu.setTitle("Valutakalkulator");
    vindu.setDefaultCloseOperation(EXIT_ON_CLOSE);
    vindu.opprettGUI();
    vindu.setSize(330,80);
    vindu.setVisible(true);
  }
 
  public void opprettGUI() {
    setLayout( new FlowLayout() );
 
    inn = new JTextField(6);
    liste = new JComboBox(valutakode);
    /***********************************************************
     * NB! Ved kompilering av koden kommer det en advarsel/note,
     * men det er laget class-fil og programmet kan kjøres.
     ***********************************************************
     * Merk at i Java7 er JComboBox endret til generisk datatype
     * og da kreves det at datatypen (her String) til elementene
     * i nedtrekkslista blir angitt i kallet på konstruktøren:
     *     liste = new JComboBox<String>(valutakode);
     * Dette temaet blir behandlet i kapittel 9.
     ***********************************************************
     */
 
    beregn = new JButton("=");
    ut = new JTextField(6);
 
    add(inn);
    add(liste);
    add(beregn);
    add(ut);
    add(new JLabel("NKR"));
 
    inn.addActionListener(this);
    liste.addActionListener(this);
    beregn.addActionListener(this);
 
    ut.setEditable(false);
  }
 
  public void actionPerformed(ActionEvent e) {
    try {
      double innbeløp = parseDouble( inn.getText() );
      int valutaNr = liste.getSelectedIndex();
      double dagskurs = valutakurs[valutaNr];
      double utbeløp = innbeløp * dagskurs;
      ut.setText("" + Math.round(utbeløp) + ".00");
    }
    catch (Exception ex) {
      ut.setText("Feil i beløp!");
    }
  }
 
}
 
Kildekode blir vist ved hjelp av GeSHi.