Java Reference
In-Depth Information
KeyEvent
bringt die Methode
getKeyCode()
mit, über die Sie in Erfahrung bringen kön-
nen, welche Taste betätigt wurde. In einer
if
-Anweisung können Sie das zurückgelie-
ferte Ergebnis mit dem Tastaturcode der
(¢)
-Taste vergleichen und nur auf diese Taste
reagieren. Die Tastencodes sind ebenfalls in der Klasse
KeyEvent
definiert. Sie sind dort
mit
static
int
als Klassen-Konstanten definiert und können unabhängig von einer
Instanz über den Klassenbezeichner
KeyEvent
angesprochen werden.
if(evt.getKeyCode() == KeyEvent.VK_ENTER) {
double tf, tc;
tf = Double.parseDouble(jTFFahrenheit.getText());
tc=(tf-32)*5/9;
DecimalFormat f = new DecimalFormat("#0.00");
jTFCelsius.setText(f.format(tc));
jTFFahrenheit.requestFocus();
jTFFahrenheit.selectAll();
9
}
Listing 9.15
if-Anweisung zur Überprüfung auf die Enter-Taste
Da in der
if
-Anweisung der gleiche Anweisungsblock benötigt wird, der auch schon bei
der Schaltfläche Umrechnen verwendet wurde, können Sie den gesamten Anwei-
sungsblock in eine eigene Methode der Klasse
Fahrenheit_Celsius
auslagern und an der
betreffenden Stelle aufrufen.
package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.text.DecimalFormat;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
public class Fahrenheit_Celsius extends javax.swing.JFrame {
private JLabel jLFahrenheit;
private JTextField jTFFahrenheit;
private JLabel jLCelsius;
private JTextField jTFCelsius;
private JButton jBtnEnde;