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"
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
24. marts 2008 - 22:23
#1
Hov, linien med String res, t1, t2; skal slettes..
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"
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.
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.
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?
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; }
30. marts 2008 - 03:22
#7
Måske skal de tilføjes et andet sted. Men det er ihvertfald addItem metoden du skal bruge.
02. april 2008 - 16:08
#8
Kan man finde den et sted i Visual Editor? Så VE selv tilføjer det?
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?
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.
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?
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å.
20. april 2008 - 19:21
#13
arve_v -> Har fundet ud af det, smid et svar, hvis du vil have point
21. april 2008 - 02:06
#14
ok
Kurser inden for grundlæggende programmering