Hallo,
ich hab mal so für mich was kleines, wenn auch hässliches geschrieben.. Jetzt wollte ich es so machen, dass sobald man im textfieldKp eine Zahl reinschreibt, in textfieldVk direkt die Zahl umgrechnet wird und angezeigt wird..
OHNE auf den Button drücken zu müssen.. In unserer Vorlesung hat der Prof auch kurz angesprochen wie das geht, aber das ist schon zu lange her und ich weiss es nicht mehr. ;(
Dann habe ich es einfach mit einem KeyEvent versucht.. Nur jetzt funktioniert irgendwie nichts mehr, die Exception wird immer ausgelöst, auch wenn ich zahlen eintrage.. Ich denke mit den KeyEvents kann man das ja an sich schon realisieren, gehts auch einfacher?
Also ohne die KeyEvents läuft das eigentlich ganz gut, die Exception wird auch nicht dauernd ausgelöst etc.
Ich hoffe ich konnte mein Problem erklären, so dass es jemand versteht
Danke
Und hier die main:
ich hab mal so für mich was kleines, wenn auch hässliches geschrieben.. Jetzt wollte ich es so machen, dass sobald man im textfieldKp eine Zahl reinschreibt, in textfieldVk direkt die Zahl umgrechnet wird und angezeigt wird..
OHNE auf den Button drücken zu müssen.. In unserer Vorlesung hat der Prof auch kurz angesprochen wie das geht, aber das ist schon zu lange her und ich weiss es nicht mehr. ;(
Dann habe ich es einfach mit einem KeyEvent versucht.. Nur jetzt funktioniert irgendwie nichts mehr, die Exception wird immer ausgelöst, auch wenn ich zahlen eintrage.. Ich denke mit den KeyEvents kann man das ja an sich schon realisieren, gehts auch einfacher?
Also ohne die KeyEvents läuft das eigentlich ganz gut, die Exception wird auch nicht dauernd ausgelöst etc.
Ich hoffe ich konnte mein Problem erklären, so dass es jemand versteht
Danke
Java:
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class KPRechner extends JFrame {
JTextField textfieldKp;
JTextField textfieldVk;
JTextField textfieldKurs;
JTextField textfieldPreis;
JButton convertButton;
public void convert() {
try {
double kp;
kp = Double.parseDouble(textfieldKp.getText());
double temp = (kp/100)*3;
textfieldVk.setText(Double.toString(temp));
double vk;
vk = Double.parseDouble(textfieldVk.getText());
System.out.println(vk);
double gewinn, temp2;
temp2 = Double.parseDouble(textfieldKurs.getText());
gewinn = vk*(temp2/1000);
System.out.println(gewinn);
textfieldPreis.setText(Double.toString(gewinn));
}catch(NumberFormatException e) {
System.err.println("keine zahl..");
}
}
public KPRechner() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(5, 2));
textfieldKp = new JTextField();
getContentPane().add(textfieldKp);
JLabel kpLabel = new JLabel("Aktuelle KP");
getContentPane().add(kpLabel);
textfieldKp.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent arg0) {
System.out.println("Pressed..");
}
public void keyReleased(KeyEvent arg0) {
System.out.println("Released");
}
public void keyTyped(KeyEvent arg0) {
System.out.println("Typed..");
convert();
}
});
textfieldVk = new JTextField();
getContentPane().add(textfieldVk);
textfieldVk.setEditable(false);
JLabel vkLabel = new JLabel("Verkauf KP");
getContentPane().add(vkLabel);
textfieldKurs = new JTextField();
getContentPane().add(textfieldKurs);
JLabel kursLabel = new JLabel("er Kurs");
getContentPane().add(kursLabel);
textfieldPreis = new JTextField();
getContentPane().add(textfieldPreis);
textfieldPreis.setEditable(false);
JLabel preisLabel = new JLabel("mios.");
getContentPane().add(preisLabel);
convertButton = new JButton("Umrechnen..");
getContentPane().add(convertButton);
convertButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
convert();
}
});
pack();
setVisible(true);
}
}
Und hier die main:
Java:
import javax.swing.SwingUtilities;
public class KPRechnerTest {
/**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
KPRechner mw = new KPRechner();
}
});
}
}