All pastes #350643 Raw Edit

Mine

public text v1 · immutable
·published 2007-02-11 16:30 UTC
rendered paste body
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import static javax.swing.JOptionPane.*;

class Vindu extends JFrame {

	private static String[][] valuta = {{"NOK", "10"},{"SEK","8.9"},{"EURO","80"},{"GBP","130"},{"USD","62"}};
	//private static String[][] valuta2 = valuta;

	public String[] finnValutaNavn(){
		String[] nyTab = new String[valuta.length];
		for (int i = 0; i < valuta.length; i++ ) {
			nyTab[i] = valuta[i][0];
		}
		return nyTab;
	}

	private JList valutaliste = new JList(finnValutaNavn()); //Nå er listen laget
	private JList valutaliste2 = new JList(finnValutaNavn()); //Nå er listen laget

	private int valutainn = 0;
	private int valutaut = 0;

	private int listechange = 0;
	private int teller = 4; //Teller antall i tabellen.

	private String vnavn;
	private String vkurs;

	double valutavariabel = 1;

	//Alle knapper etc
	public Vindu (String tittel) {
		setTitle(tittel);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JLabel ledetekst = new JLabel("Fra valuta---------------------------- Til valuta");
		add(ledetekst, BorderLayout.NORTH);

		//Rullefelt
		JScrollPane rullefeltListeInn = new JScrollPane(valutaliste);
		add(rullefeltListeInn, BorderLayout.WEST);

		JScrollPane rullefeltListeUt = new JScrollPane(valutaliste2);
		add(rullefeltListeUt, BorderLayout.EAST);

		ListeboksLytter lytter = new ListeboksLytter();
		valutaliste.addListSelectionListener(lytter);
		valutaliste2.addListSelectionListener(lytter);

		JButton kalkus = new JButton("Kalkuler!");
		add(kalkus, BorderLayout.CENTER);

		JButton nyValuta = new JButton("Legg til valuta!");
		add(nyValuta, BorderLayout.SOUTH);

		Knappelytter knappelytteren = new Knappelytter();
		kalkus.addActionListener(knappelytteren);
		nyValuta.addActionListener(knappelytteren);

		pack();
	}

	//=================================================
	//Lytteren fanger opp alle klikk på linjer i listeboksen
	private class ListeboksLytter implements ListSelectionListener {
		public void valueChanged(ListSelectionEvent hendelse){
			//Fikk etterhvert ikke bruk for en listelytter..
		}
	}

	//=================================================
	//Knappelytteren
	private class Knappelytter implements ActionListener {
		public void actionPerformed(ActionEvent hendelse) {
			String label = hendelse.getActionCommand();

			//Tester om Kalkulerknappen blir trykket.
			if (label == "Kalkuler!"){
				String stringinn = showInputDialog(null,"Hvor mye ønsker du å regne med ? ");
				double inn = Double.parseDouble(stringinn);
				double kurs1 = Double.parseDouble(valuta[valutaliste.getSelectedIndex()][1]);
				double kurs2 = Double.parseDouble(valuta[valutaliste2.getSelectedIndex()][1]);
				valutavariabel = kurs1/kurs2;
				double mellomregning = valutavariabel * inn;
				showMessageDialog(null,"For " + stringinn + " " + valuta[valutaliste.getSelectedIndex()][0] + " får du "+ mellomregning + " " + valuta[valutaliste2.getSelectedIndex()][0]);

			//Tester om "legg til valuta"-knappen blir trykket
			}else if(label == "Legg til valuta!"){
				vnavn = showInputDialog(null,"Valutanavn: ");
				vkurs = showInputDialog(null,"Kurs i forhold til 10 norske: ");

				//Øker tabell-lengden med 1
				String[][] nyTab = new String[valuta.length + 1][2];
				for (int g = 0; g < valuta.length; g++){
					for(int h = 0; h < 2; h++){
						nyTab[g][h] = valuta[g][h];
					}
				}
				valuta = nyTab;

				//Legger til verdi i  den nye tabellplassen
				for (int i = 0; i < valuta.length; i++){
					for (int j = 0; j < 2; j++){
						if(valuta[i][j] == null ) {
							valuta[i][0] = vnavn;
							valuta[i][1] = vkurs;
							j = 2;
						}//If
					}//For
				}//For
			}//If
			//Oppdaterer listene
			valutaliste.setListData(finnValutaNavn());
			valutaliste2.setListData(finnValutaNavn());

		}//ActionPerformed
	}//Knappelytter
}//Class

class Oving5d {
	public static void main ( String[] args ) {
		Vindu etVindu = new Vindu ("Valutakonvertering");
		etVindu.setVisible(true);
	}
}