-
-
Save tedyoung/81763b11b07c4e738fdc783f57b14ea9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import javax.swing.*; | |
import java.awt.Color; | |
import java.awt.event.*; | |
import java.io.File; | |
import java.io.FileInputStream; | |
import java.io.FileWriter; | |
import java.io.IOException; | |
import java.text.DecimalFormat; | |
import java.util.Scanner; | |
import java.awt.Font; | |
import java.awt.*; | |
import javax.swing.JFrame; | |
public class CC implements ActionListener { | |
JTextField tf1,tf2,tf3; | |
JButton b1, b2; | |
JComboBox cur1, cur2; | |
JLabel Lin, Lcur1, Lcur2, LCon, name, eurpng1, dolpng1, gbppng1, eurpng2, dolpng2, gbppng2; | |
JMenu menu, submenu; | |
JMenuItem info, rates, mue, mug, med, meg, mgd, mge; | |
public CC(){ | |
try { | |
File fileIn = new File ("data.txt"); | |
File fileOut = new File ("res.txt"); | |
FileInputStream fr = new FileInputStream(fileIn); | |
FileWriter fw = new FileWriter(fileOut); | |
Scanner data = new Scanner(fr); | |
String x=" "; | |
double b = 0, rate1= 0, rate2= 0, rate3= 0, rate4= 0, rate5= 0, rate6= 0; | |
while (data.hasNext()) { | |
x = data.next(); | |
b = data.nextDouble(); | |
if (x.equals("eur to usd:")) | |
rate1 = b; | |
if (x.equals("usd to eur:")) | |
rate2 = b; | |
if (x.equals("eur to gbp:")) | |
rate3 = b; | |
if (x.equals("usd to gbp:")) | |
rate4 = b; | |
if (x.equals("gbp to eur:")) | |
rate5 = b; | |
if (x.equals("gbp to usd:")) | |
rate6 = b; | |
} | |
} | |
catch(Exception e) { | |
System.out.print(e); | |
} | |
JFrame f= new JFrame("Currency Converter"); | |
JMenuBar mb=new JMenuBar(); | |
menu=new JMenu("Menu"); | |
submenu=new JMenu("Rates"); | |
info=new JMenuItem("Info"); | |
rates=new JMenuItem("Rates"); | |
mue=new JMenuItem("USD to EUR"); | |
mug=new JMenuItem("USD to GBP"); | |
med=new JMenuItem("EUR to USD"); | |
meg=new JMenuItem("EUR to GBP"); | |
mgd=new JMenuItem("GBP to USD"); | |
mge=new JMenuItem("GBP to EUR"); | |
menu.add(info); | |
menu.add(submenu); | |
submenu.add(mue);submenu.add(mug);submenu.add(med);submenu.add(meg);submenu.add(mgd);submenu.add(mge); | |
mb.add(menu); | |
f.setJMenuBar(mb); | |
tf1=new JTextField(); | |
tf1.setBounds(50,60,150,20); | |
String currencies1[]= {"EUR", "USD", "GBP"}; | |
String currencies2[]= {"USD", "GBP", "EUR"}; | |
cur1 = new JComboBox(currencies1); | |
cur1.setBounds(250,60,150,20); | |
cur2 = new JComboBox(currencies2); | |
cur2.setBounds(450,60,150,20); | |
Lin = new JLabel("Enter the amount:"); | |
Lin.setBounds(50,40,150,20); | |
Lcur1 = new JLabel("Select input currency:"); | |
Lcur1.setBounds(250,40,150,20); | |
Lcur2 = new JLabel("Select output currency:"); | |
Lcur2.setBounds(450,40,150,20); | |
eurpng1 = new JLabel(" "); | |
Image eur1 = new ImageIcon(this.getClass().getResource("/euras.png")).getImage(); | |
eurpng1.setIcon(new ImageIcon(eur1)); | |
eurpng1.setBounds(80,120,150,100); | |
dolpng1 = new JLabel(" "); | |
Image dol1 = new ImageIcon(this.getClass().getResource("/dollar.png")).getImage(); | |
dolpng1.setIcon(new ImageIcon(dol1)); | |
dolpng1.setBounds(80,120,150,100); | |
gbppng1 = new JLabel(" "); | |
Image gdp1 = new ImageIcon(this.getClass().getResource("/brit.png")).getImage(); | |
gbppng1.setIcon(new ImageIcon(gdp1)); | |
gbppng1.setBounds(80,120,150,100); | |
eurpng2 = new JLabel(" "); | |
Image eur2 = new ImageIcon(this.getClass().getResource("/euras.png")).getImage(); | |
eurpng2.setIcon(new ImageIcon(eur2)); | |
eurpng2.setBounds(475,120,150,100); | |
dolpng2 = new JLabel(" "); | |
Image dol2 = new ImageIcon(this.getClass().getResource("/dollar.png")).getImage(); | |
dolpng2.setIcon(new ImageIcon(dol2)); | |
dolpng2.setBounds(475,120,150,100); | |
gbppng2 = new JLabel(" "); | |
Image gdp2 = new ImageIcon(this.getClass().getResource("/brit.png")).getImage(); | |
gbppng2.setIcon(new ImageIcon(gdp2)); | |
gbppng2.setBounds(475,120,150,100); | |
eurpng1.setVisible(true);dolpng1.setVisible(false);gbppng1.setVisible(false);eurpng2.setVisible(false);dolpng2.setVisible(true);gbppng2.setVisible(false); | |
LCon = new JLabel("Result:"); | |
LCon.setBounds(275,180,200,20); | |
Font font1 = new Font("SansSerif", Font.BOLD, 17); | |
name = new JLabel("Currency Converter"); | |
name.setBounds(245,10,200,20); | |
name.setFont(font1); | |
tf3=new JTextField(); | |
tf3.setBounds(275,200,100,20); | |
tf3.setEditable(false); | |
b1=new JButton("CONVERT"); | |
b1.setBounds(275,125,100, 40); | |
b1.addActionListener(this); | |
f.getContentPane().setBackground(new Color(255, 204, 51)); | |
f.add(tf1);f.add(tf3);f.add(b1);f.add(cur1);f.add(cur2);f.add(Lin);f.add(Lcur1);f.add(Lcur2);f.add(LCon);f.add(name);f.add(eurpng1);f.add(dolpng1);f.add(gbppng1);f.add(eurpng2);f.add(dolpng2);f.add(gbppng2); | |
f.setSize(700, 300); | |
f.setResizable(false); | |
f.setLocationRelativeTo(null); | |
f.setLayout(null); | |
f.setVisible(true); | |
} | |
public void actionPerformed(ActionEvent e) { | |
try { | |
String s1=tf1.getText(); | |
double a=Double.parseDouble(s1); | |
double result=0; | |
DecimalFormat dc = new DecimalFormat("0.00"); | |
if (cur1.getSelectedItem().equals("EUR") && cur2.getSelectedItem().equals("EUR")) { | |
tf3.setText("€" + dc.format(a)); | |
eurpng1.setVisible(true);eurpng2.setVisible(true);dolpng1.setVisible(false);dolpng2.setVisible(false);gbppng1.setVisible(false);gbppng2.setVisible(false); | |
} | |
if (cur1.getSelectedItem().equals("USD") && cur2.getSelectedItem().equals("USD")) { | |
tf3.setText("$" + dc.format(a)); | |
dolpng1.setVisible(true);dolpng2.setVisible(true);gbppng1.setVisible(false);gbppng2.setVisible(false);eurpng1.setVisible(false);eurpng2.setVisible(false); | |
} | |
if (cur1.getSelectedItem().equals("GBP") && cur2.getSelectedItem().equals("GBP")) { | |
tf3.setText("£" + dc.format(a)); | |
gbppng1.setVisible(true);gbppng2.setVisible(true);dolpng1.setVisible(false);dolpng2.setVisible(false);eurpng1.setVisible(false);eurpng2.setVisible(false); | |
} | |
if (cur1.getSelectedItem().equals("EUR") && cur2.getSelectedItem().equals("USD")) { | |
result = a * 1.13; | |
tf3.setText("$" + dc.format(result)); | |
eurpng1.setVisible(true);eurpng2.setVisible(false);dolpng1.setVisible(false);dolpng2.setVisible(true);gbppng1.setVisible(false);gbppng2.setVisible(false); | |
} | |
if (cur1.getSelectedItem().equals("USD") && cur2.getSelectedItem().equals("EUR")) { | |
result = a * 0.88; | |
tf3.setText("€" + dc.format(result)); | |
eurpng1.setVisible(false);eurpng2.setVisible(true);dolpng1.setVisible(true);dolpng2.setVisible(false);gbppng1.setVisible(false);gbppng2.setVisible(false); | |
} | |
if (cur1.getSelectedItem().equals("EUR") && cur2.getSelectedItem().equals("GBP")) { | |
result = a * 0.86; | |
tf3.setText("£" + dc.format(result)); | |
eurpng1.setVisible(true);eurpng2.setVisible(false);dolpng1.setVisible(false);dolpng2.setVisible(false);gbppng1.setVisible(false);gbppng2.setVisible(true); | |
} | |
if (cur1.getSelectedItem().equals("USD") && cur2.getSelectedItem().equals("GBP")) { | |
result = a * 0.76; | |
tf3.setText("£" + dc.format(result)); | |
eurpng1.setVisible(false);eurpng2.setVisible(false);dolpng1.setVisible(true);dolpng2.setVisible(false);gbppng1.setVisible(false);gbppng2.setVisible(true); | |
} | |
if (cur1.getSelectedItem().equals("GBP") && cur2.getSelectedItem().equals("EUR")) { | |
result = a * 1.17; | |
tf3.setText("€" + dc.format(result)); | |
eurpng1.setVisible(false);eurpng2.setVisible(true);dolpng1.setVisible(false);dolpng2.setVisible(false);gbppng1.setVisible(true);gbppng2.setVisible(false); | |
} | |
if (cur1.getSelectedItem().equals("GBP") && cur2.getSelectedItem().equals("USD")) { | |
result = a * 1.32; | |
tf3.setText("$" + dc.format(result)); | |
eurpng1.setVisible(false);eurpng2.setVisible(false);dolpng1.setVisible(false);dolpng2.setVisible(true);gbppng1.setVisible(true);gbppng2.setVisible(false); | |
} | |
} | |
catch (NumberFormatException ex) { | |
tf3.setText("Enter numbers!"); | |
} | |
} | |
public static void main(String[] args) { | |
new CC(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment