Hallo ich habe da ein Problem mit einem KeyListener, & Methode.
Das Programm soll Fahrenheit in Celsius Umwandeln ganz einfach aufgebaut.
und ein wenig Benutzer Komfort zb. mit Enter den Umrechen Button betätigen.
die Methode Funktioniert irgendwie garnicht eine Aktuellere Vorlage were ganz nett.
Inklusive ein Veraltetes Objekt das ein anderes Format ausgeben soll.
Die Ausgabe in Celsius sieht sehr Unschön aus ( 56.6666666666667) <- zum Beispiel.
Ich Arbeite mit Eclipse Java Oxygen.
Das soll dann die Methode sein.
Sie gibt eine menge Fehler aus allerdings ist Sie mir als Vorlage gegeben,
Es ist schon ein Älteres Buch, Kaufe mir danach ein neueres.
Ich würde mich sehr Über Hilfe Freuen.
PS bin neu hir nicht böse sein wen das hir der falsche Platz ist für meine Frage.
Das Programm soll Fahrenheit in Celsius Umwandeln ganz einfach aufgebaut.
und ein wenig Benutzer Komfort zb. mit Enter den Umrechen Button betätigen.
die Methode Funktioniert irgendwie garnicht eine Aktuellere Vorlage were ganz nett.
Inklusive ein Veraltetes Objekt das ein anderes Format ausgeben soll.
Die Ausgabe in Celsius sieht sehr Unschön aus ( 56.6666666666667) <- zum Beispiel.
Ich Arbeite mit Eclipse Java Oxygen.
Java:
package uebung08;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextPane;
import javax.swing.JButton;
import javax.swing.UIManager;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class celsius extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
} catch (Throwable e) {
e.printStackTrace();
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
celsius frame = new celsius();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public celsius() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 375, 190);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
setTitle("Hallo Du Da!");
JLabel lblFahrenheit = new JLabel("Grad Fahrenheit");
lblFahrenheit.setBounds(10, 11, 121, 14);
contentPane.add(lblFahrenheit);
JTextPane tfFahrenheit = new JTextPane();
tfFahrenheit.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
/* Hir soll die Methode Umrechnen hin.
umrechnen(); */
}
}
});
tfFahrenheit.setBounds(10, 38, 180, 22);
contentPane.add(tfFahrenheit);
JLabel lblGradCelsius = new JLabel("Grad Celsius");
lblGradCelsius.setBounds(10, 73, 79, 16);
contentPane.add(lblGradCelsius);
JTextPane tfCelsius = new JTextPane();
tfCelsius.setEditable(false);
tfCelsius.setBounds(10, 102, 180, 22);
contentPane.add(tfCelsius);
JButton btnUmrechnen = new JButton("Umrechnen");
btnUmrechnen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
double celsius, Fahrenheit;
// DecimalFormat f = new DecimalFormat("#0.00");
Fahrenheit = Double.parseDouble(tfFahrenheit.getText());
celsius = (Fahrenheit - 32) * 5 / 9; // Hir wird aus Fahrenheit = Celsius
tfCelsius.setText(String.valueOf(celsius));
tfFahrenheit.requestFocus();
tfFahrenheit.selectAll();
}
});
btnUmrechnen.setBounds(232, 35, 112, 25);
contentPane.add(btnUmrechnen);
JButton btnExit = new JButton("Exit");
btnExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
} );
btnExit.setBounds(232, 102, 112, 25);
contentPane.add(btnExit);
}
}
Das soll dann die Methode sein.
Java:
private void umrechnen() {
double celsius, Fahrenheit;
// DecimalFormat f = new DecimalFormat("#0.00"); // <- Das Objekt das ich meine.
Fahrenheit = Double.parseDouble(tfFahrenheit.getText());
celsius = (Fahrenheit - 32) * 5 / 9;
tfCelsius.setText(String.valueOf(celsius));
tfFahrenheit.requestFocus();
tfFahrenheit.selectAll();
}
Sie gibt eine menge Fehler aus allerdings ist Sie mir als Vorlage gegeben,
Es ist schon ein Älteres Buch, Kaufe mir danach ein neueres.
Ich würde mich sehr Über Hilfe Freuen.
PS bin neu hir nicht böse sein wen das hir der falsche Platz ist für meine Frage.