Skip to content

Instantly share code, notes, and snippets.

@karwekarwe
Created January 1, 2022 18:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save karwekarwe/02f717000dbcff153349e6fb50f45e33 to your computer and use it in GitHub Desktop.
Save karwekarwe/02f717000dbcff153349e6fb50f45e33 to your computer and use it in GitHub Desktop.
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