EvilZone

Programming and Scripting => Java => : j12stealth March 18, 2012, 12:05:49 PM

: [JAVA] Metric conversion help?
: j12stealth March 18, 2012, 12:05:49 PM
Hey guys I need help about this code this is my case study for COPRO(computer programming 2).
Im using eclipse indigo to run my java codes and i think it runs properly but when i run this to jcreator it says it has 1 or 2 errors..if yah know which are the errors please kindly comment below



:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Converter extends JFrame {

    static JFrame frame;
    static JComboBox<?> metb, impb;
    static Container pane;
    static Insets insets;
    static JLabel to;
    static JButton go, clear1, clear2;
    static JTextField metf, impf;
    static Dimension screenSize;
    static Point middle, newLocation; 
   
    public static void compute(String meti, String impi, int x, int y, double ratio) {
        if (meti.length() >= 1 && impi.length() == 0) { //converting from metric to imperial       
            if (metb.getSelectedIndex() != 0 && impb.getSelectedIndex() != 0) { //if user has selected units     
                //length
                if (metb.getSelectedIndex() >= 1 && impb.getSelectedIndex() >= 1) {                   
                    if (metb.getSelectedIndex() == x && impb.getSelectedIndex() == y) {
                    double parse = Double.parseDouble(meti);
                    double ans = parse * ratio;
                    String result = "" + ans;
                    impf.setText(result);                                     
                    }                                       
                }
            } else {
                JOptionPane.showMessageDialog(frame,"Please select you units");
            }       
        } else if (meti.length() == 0 && impi.length() >= 1) { //converting from imperial to metric 
            if (metb.getSelectedIndex() != 0 && impb.getSelectedIndex() != 0) { //if user has selected units
                if (metb.getSelectedIndex() >= 1 && impb.getSelectedIndex() >= 1) {                   
                    if (metb.getSelectedIndex() == x && impb.getSelectedIndex() == y) {
                    double parse = Double.parseDouble(impi);
                    double ans = parse / ratio;
                    String result = "" + ans;
                    metf.setText(result);                                     
                    }                                       
                }
            } else {
                JOptionPane.showMessageDialog(frame,"Please select your units");
            }   
        }       
    }
   
    public static void temperature(String meti, String impi) {
        if (meti.length() >= 1 && impi.length() == 0) { //converting from metric to imperial       
            if (metb.getSelectedIndex() != 0 && impb.getSelectedIndex() != 0) { //if user has selected units     
                //length
                if (metb.getSelectedIndex() >= 7 && metb.getSelectedIndex() <= 8) {                   
                    if (metb.getSelectedIndex() == 7 && impb.getSelectedIndex() == 10) {//k f
                        double parse = Double.parseDouble(meti);
                        double ans = 9/5 * (parse - 273) + 32;
                        String result = "" + ans;
                        impf.setText(result);   
                    } else if (metb.getSelectedIndex() == 8 && impb.getSelectedIndex() == 9) {//c k
                        double parse = Double.parseDouble(meti);
                        double ans = parse + 273;
                        String result = "" + ans;
                        impf.setText(result);
                    } else if (metb.getSelectedIndex() == 8 && impb.getSelectedIndex() == 10) {//c f
                        double parse = Double.parseDouble(meti);
                        double ans = 9/5 * parse + 32;
                        String result = "" + ans;
                        impf.setText(result);
                    }                                                     
                }
            } else {
                JOptionPane.showMessageDialog(frame,"Please select your units");
            }       
        } else if (meti.length() == 0 && impi.length() >= 1) { //converting from imperial to metric 
            if (metb.getSelectedIndex() != 0 && impb.getSelectedIndex() != 0) { //if user has selected units
                    if (metb.getSelectedIndex() == 7 && impb.getSelectedIndex() == 10) {//f k
                        double parse = Double.parseDouble(impi);
                        double ans = 9/5 * (parse - 32) + 273;
                        String result = "" + ans;
                        metf.setText(result);   
                    } else if (metb.getSelectedIndex() == 8 && impb.getSelectedIndex() == 9) {//k c
                        double parse = Double.parseDouble(impi);
                        double ans = parse - 273;
                        String result = "" + ans;
                        metf.setText(result);
                    } else if (metb.getSelectedIndex() == 8 && impb.getSelectedIndex() == 10) {//f c
                        double parse = Double.parseDouble(impi);
                        double ans = 9/5 * parse - 32;
                        String result = "" + ans;
                        metf.setText(result);
                    }
            } else {
                JOptionPane.showMessageDialog(frame,"Please select you units");
            }   
        }       
    }       
   
    public static class goAction implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            String meti = metf.getText();
            String impi = impf.getText();
            if (meti.length() == 0 && impi.length() >= 1 || meti.length() >= 1 && impi.length() == 0) {
                compute(meti, impi, 1, 1, 0.0393700787); //mm in
                compute(meti, impi, 1, 2, 0.0032808399); //mm ft
                compute(meti, impi, 1, 3, 0.0010936133);//mm yd
                compute(meti, impi, 1, 4, 0.000000621371192); //mm mi
                compute(meti, impi, 2, 1, 0.393700787);//cm in
                compute(meti, impi, 2, 2, 0.032808399);//cm ft
                compute(meti, impi, 2, 3, 0.010936133);//cm yd
                compute(meti, impi, 2, 4, 0.00000621371192);//cm mi
                compute(meti, impi, 3, 1, 39.3700787);//m in
                compute(meti, impi, 3, 2, 3.2808399);//m ft
                compute(meti, impi, 3, 3, 1.0936133);//m yd
                compute(meti, impi, 3, 4, 0.000621371192);//m mi
                compute(meti, impi, 4, 1, 39370.0787);//km in
                compute(meti, impi, 4, 2, 3280.8399);//km ft
                compute(meti, impi, 4, 3, 1093.6133);//km yd
                compute(meti, impi, 4, 4, 0.621371192);//km mi
                compute(meti, impi, 5, 5, 0.0338140227);//ml fl oz
                compute(meti, impi, 5, 6, 0.00211337642);//ml pt
                compute(meti, impi, 5, 7, 0.00105668821);//ml qt
                compute(meti, impi, 5, 8, 0.000264172052);//ml gal
                compute(meti, impi, 6, 5, 33.8140227);//l fl oz
                compute(meti, impi, 6, 6, 2.11337642);//l pt
                compute(meti, impi, 6, 7, 1.05668821);//l qt
                compute(meti, impi, 6, 8, 0.264172052);//l gal
                compute(meti, impi, 7, 9, 1); //k k   
                compute(meti, impi, 9, 11, 0.0352739619);//g oz
                compute(meti, impi, 9, 12, 0.00220462262);//g lb
                compute(meti, impi, 9, 13, 0.000157473044);//g st
                compute(meti, impi, 9, 14, 0.00000110231131);//g t
                compute(meti, impi, 10, 11, 35.2739619);//kg oz
                compute(meti, impi, 10, 12, 2.20462262);//kg lb
                compute(meti, impi, 10, 13, 0.157473044);//kg st
                compute(meti, impi, 10, 14, 0.00110231131);//kg t
                compute(meti, impi, 11, 11, 35273.9619);//mt oz
                compute(meti, impi, 11, 12, 2204.62262);//mt lb
                compute(meti, impi, 11, 13, 157.473044);//mt st
                compute(meti, impi, 11, 14, 1.10231131);//mt t
                temperature(meti, impi);//k f, c k, c f
            } else if (meti.length() >= 1 && impi.length() >= 1) { //input in two fields       
                JOptionPane.showMessageDialog(frame,"Please only put a number on one side");
                impf.setText("");
                metf.setText("");             
            } else if (meti.length() == 0 && impi.length() == 0) { //input in no fields       
                JOptionPane.showMessageDialog(frame,"Please enter a number to be converted");           
            }                 
        }
    }       
   
    public static class clear1Action implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            metf.setText("");
        }
    }
   
    public static class clear2Action implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            impf.setText("");
        }
    }
   
    public static void main (String[] args) {
   
        try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}
        catch (ClassNotFoundException e) {}
        catch (InstantiationException e) {}
        catch (IllegalAccessException e) {}
        catch (UnsupportedLookAndFeelException e) {}
   
        String[] metric = { "metric:", "millimetres", "centimetres", "metres", "kilometres", "mililitres", "litres", "kelvin", "celcius", "grams", "kilograms", "tonnes" };               
        String[] imperial = { "imperial:", "inches", "feet", "yards", "miles", "fluid ounces", "US pints", "US quarts", "US gallons", "kelvin", "fahrenheit", "ounces", "pounds", "stones", "tons" };   
       
        frame = new JFrame ("Unit Converter");                       
        metb = new JComboBox<Object> (metric);
        impb = new JComboBox<Object> (imperial); 
        to = new JLabel("< -- to -- >");
        go = new JButton("Go");
        clear1 = new JButton("C");
        clear2 = new JButton("C");
        metf = new JTextField();
        impf = new JTextField();             
               
        pane = frame.getContentPane();
        insets = pane.getInsets();
        pane.setLayout(null);       
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
        metb.setSelectedIndex(0);
        impb.setSelectedIndex(0);
       
        pane.add(metf);
        metf.setBounds(insets.left + 5, insets.top + 5, 200, metf.getPreferredSize().height);       
       
        pane.add(metb);
        metb.setBounds(insets.left + 5, metf.getHeight() + 5, 282, metb.getPreferredSize().height);
       
        pane.add(clear1);
        clear1.setBounds(metf.getX() + metf.getWidth() + 5, insets.top + 5, clear1.getPreferredSize().width, metb.getPreferredSize().height);
       
        pane.add(to);
        to.setBounds(clear1.getX() + clear1.getWidth() + 5, insets.top + 5, to.getPreferredSize().width, to.getPreferredSize().height);
       
        pane.add(impf);
        impf.setBounds(to.getX() + to.getWidth() + 5, insets.top + 5, 200, impf.getPreferredSize().height); 
       
        pane.add(impb);
        impb.setBounds(metb.getX() + metb.getWidth() + 5, impf.getHeight() + 5, 283, impb.getPreferredSize().height);
       
        pane.add(clear2);
        clear2.setBounds(impf.getX() + impf.getWidth() + 5, insets.top + 5, clear2.getPreferredSize().width, metb.getPreferredSize().height);     
       
        pane.add(go);
        go.setBounds(clear2.getX() + clear2.getWidth() + 5, insets.top + 5, go.getPreferredSize().width, metb.getPreferredSize().height);
       
        go.addActionListener(new goAction());
        clear1.addActionListener(new clear1Action());
        clear2.addActionListener(new clear2Action());
       
        frame.setSize(580,110);
       
        screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        middle = new Point(screenSize.width / 2, screenSize.height / 2);
        newLocation = new Point(middle.x - (frame.getWidth() / 2), middle.y - (frame.getHeight() / 2));
        frame.setLocation(newLocation);
       
        frame.setVisible(true);
    }
}
: Re: [JAVA] Metric conversion help?
: Deque March 18, 2012, 06:15:00 PM
but when i run this to jcreator it says it has 1 or 2 errors.

You got the error messages so you should post them.
Does it happen at runtime or compiletime?

At compiletime there should only be a warning because you didn't set a serial number for your JFrame. For runtime--well, you have to know, what happened and what you did to make it happen (which buttons pressed, which inputs done and so on).

If the cause is wrong code, the errors won't depend on the IDE. So it might be that you have wrong settings for JCreator. But we can't tell you that without an error message, my crystal ball is not working atm.
: Re: [JAVA] Metric conversion help?
: leewillz May 10, 2012, 04:56:29 PM
i just tried ur code and it works fine for me it seems to be an eclipse issue, do you have netbeans its a much more stable IDE
: Re: [JAVA] Metric conversion help?
: Deque May 10, 2012, 05:45:56 PM
i just tried ur code and it works fine for me it seems to be an eclipse issue, do you have netbeans its a much more stable IDE
j12stealth said it worked fine in Eclipse, so it is not an Eclipse issue.