Avatar billede ejldk Nybegynder
24. marts 2008 - 22:22 Der er 13 kommentarer og
1 løsning

Udregne valuta

Jeg har et program som består af et textfield, en drop-down menu og en button.
Jeg vil gerne gøre sådan, at man vælger i drop-down menuen hvilken valuta man vil omregne (fx DKK -> EUR, EUR -> DKK, osv). Når jeg klikker på knappen, hentes tallet fra feltet og gemmes i variablen t1.
Derefter ganges t1 med den forudbestemte valutakurs for den valgte omregning: Hvis man fx har valgt DKK -> EUR, divideres der med 7,5 og hvis man har valgt EUR -> DKK, ganges der med 7,5.
Resultatet skal gemmes i en variabel kaldet res, som udskrives i en label.

Er der nogen som kunne tænke sig at hjælpe mig med det? Jeg har alt det grafiske på plads, har lavet det i Eclipse Visual Editor, kan bare ikke finde ud af at hente data fra tekstfeltet og dropdownmenuen.

Her er min kode:

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JCheckBox;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.Choice;
import javax.swing.SwingConstants;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JOptionPane;
import javax.swing.JTextPane;
import javax.swing.JComboBox;

public class Test extends JFrame {

    private static final long serialVersionUID = 1L;

    private JPanel jContentPane = null;

    private JTextField t1 = null;

    private JTextField t2 = null;

    private JButton jButton = null;

    private JComboBox val = null;

    public static void main(Strings[] args) {
        Test();
    }

    public Test() {
        super();
        initialize();
    }

    /**
    * This method initializes this
    *
    * @return void
    */
    private void initialize() {
        this.setSize(328, 220);
        this.setResizable(false);
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }

    /**
    * This method initializes jContentPane
    *
    * @return javax.swing.JPanel
    */
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(null);
            jContentPane.add(getT1(), null);
            jContentPane.add(getT2(), null);
            jContentPane.add(getJButton(), null);
            jContentPane.add(getVal(), null);
        }
        return jContentPane;
    }

    /**
    * This method initializes t1   
    *    
    * @return javax.swing.JTextField   
    */
    private JTextField getT1() {
        if (t1 == null) {
            t1 = new JTextField();
            t1.setBounds(new Rectangle(5, 5, 146, 26));
        }
        return t1;
    }

    /**
    * This method initializes t2   
    *    
    * @return javax.swing.JTextField   
    */
    private JTextField getT2() {
        if (t2 == null) {
            t2 = new JTextField();
            t2.setBounds(new Rectangle(160, 5, 146, 26));
        }
        return t2;
    }

    /**
    * This method initializes jButton   
    *    
    * @return javax.swing.JButton   
    */
    private JButton getJButton() {
        if (jButton == null) {
            jButton = new JButton();
            jButton.setBounds(new Rectangle(115, 110, 81, 26));
            jButton.setText("Udregn");
            jButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    String res, t1, t2;
                }
            });
        }
        return jButton;
    }

    /**
    * This method initializes val   
    *    
    * @return javax.swing.JComboBox   
    */
    private JComboBox getVal() {
        if (val == null) {
            val = new JComboBox();
            val.setBounds(new Rectangle(90, 50, 136, 21));
        }
        return val;
    }

}  //  @jve:decl-index=0:visual-constraint="102,14"
Avatar billede ejldk Nybegynder
24. marts 2008 - 22:23 #1
Hov, linien med String res, t1, t2; skal slettes..
Avatar billede ejldk Nybegynder
24. marts 2008 - 22:25 #2
det formåede jeg da at fucke rimeligt meget op...
Der var lige et textfield for meget.

Her er den RIGTIGE kode:

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JCheckBox;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.Choice;
import javax.swing.SwingConstants;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JOptionPane;
import javax.swing.JTextPane;
import javax.swing.JComboBox;

public class Test extends JFrame {

    private static final long serialVersionUID = 1L;

    private JPanel jContentPane = null;

    private JTextField t1 = null;

    private JButton jButton = null;

    private JComboBox val = null;

    public static void main(Strings[] args) {
        Test();
    }

    public Test() {
        super();
        initialize();
    }

    /**
    * This method initializes this
    *
    * @return void
    */
    private void initialize() {
        this.setSize(328, 220);
        this.setResizable(false);
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }

    /**
    * This method initializes jContentPane
    *
    * @return javax.swing.JPanel
    */
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(null);
            jContentPane.add(getT1(), null);
            jContentPane.add(getJButton(), null);
            jContentPane.add(getVal(), null);
        }
        return jContentPane;
    }

    /**
    * This method initializes t1   
    *    
    * @return javax.swing.JTextField   
    */
    private JTextField getT1() {
        if (t1 == null) {
            t1 = new JTextField();
            t1.setBounds(new Rectangle(85, 5, 146, 26));
        }
        return t1;
    }

    /**
    * This method initializes jButton   
    *    
    * @return javax.swing.JButton   
    */
    private JButton getJButton() {
        if (jButton == null) {
            jButton = new JButton();
            jButton.setBounds(new Rectangle(115, 110, 81, 26));
            jButton.setText("Udregn");
            jButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                   
                }
            });
        }
        return jButton;
    }

    /**
    * This method initializes val   
    *    
    * @return javax.swing.JComboBox   
    */
    private JComboBox getVal() {
        if (val == null) {
            val = new JComboBox();
            val.setBounds(new Rectangle(90, 50, 136, 21));
        }
        return val;
    }

}  //  @jve:decl-index=0:visual-constraint="102,14"
Avatar billede ejldk Nybegynder
26. marts 2008 - 15:14 #3
Er der ingen der kan hjælpe mig?

Jeg skal bare have hjælp til at hente data fra et tekstfelt og fra en dropdownmenu.
Avatar billede arne_v Ekspert
29. marts 2008 - 04:02 #4
Koden compiler ikke.

public static void main(Strings[] args) {

skal nok være

public static void main(String[] args) {

og

Test();

kunne være

new Test();

Derudover skal formen sættes visible.

Og der er ikke noget i drop down menuen.
Avatar billede ejldk Nybegynder
29. marts 2008 - 23:06 #5
Jeg ved ikke hvad der er sket, men har ikke fået sat den rigtige kode ind.
I den rigtige kode har jeg rettet de småfejl du påpeger.

Men jeg kan ikke finde ud af at tilføje noget til drop down menuen. Kan du hjælpe mig med det?
Avatar billede arne_v Ekspert
30. marts 2008 - 03:21 #6
private JComboBox getVal() {
        if (val == null) {
            val = new JComboBox();
            val.setBounds(new Rectangle(90, 50, 136, 21));
            val.addItem("AAA");
            val.addItem("BBB");
            val.addItem("CCC");
        }
        return val;
    }
Avatar billede arne_v Ekspert
30. marts 2008 - 03:22 #7
Måske skal de tilføjes et andet sted.

Men det er ihvertfald addItem metoden du skal bruge.
Avatar billede ejldk Nybegynder
02. april 2008 - 16:08 #8
Kan man finde den et sted i Visual Editor?
Så VE selv tilføjer det?
Avatar billede ejldk Nybegynder
09. april 2008 - 20:00 #9
er her dødt igen?
Hvordan får jeg så mit program til at vælge hvad for en valuta den skal bruge?
Avatar billede arne_v Ekspert
10. april 2008 - 04:58 #10
Jeg har ingen anelse om hvorvidt og hvordan man kan sætte items via VE.

Strengt taget er data vel ikke en del af det visuelle og hører vel derfor
mere hjemme i ren kode.
Avatar billede ejldk Nybegynder
11. april 2008 - 12:07 #11
Nu har jeg tilføjet dataen, men hvordan får jeg så programmet til at vælge en bestemt valutakurs at sætte ind, alt efter hvilken man vælger i dropdownmenuen?
Avatar billede arne_v Ekspert
13. april 2008 - 04:25 #12
Hvis du vil gøre noget når folk vælger i combo boxen skal have en ActionListener sat på.
Avatar billede ejldk Nybegynder
20. april 2008 - 19:21 #13
arve_v ->

Har fundet ud af det, smid et svar, hvis du vil have point
Avatar billede arne_v Ekspert
21. april 2008 - 02:06 #14
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester