Guten Tag,
ich lerne momentan mit Hilfe des Buches "Programmieren lernen mit Java" Java!
In diesem befinden sich Aufgaben, die es zu erfüllen gilt und natürlich entsprechende Lösungen.
Ich soll nun ein Programm erstellen dass Zoll in Zentimeter umrechnet. Dazu hab ein JFrame mit dem Textfeld zur Eingabe des Zollwerts, ein Button um die Umrechnung auszulösen und einen Button um das Programm zu beenden bzw. das Fenster zu schließen. Das Ergebnis soll dann in einem JLabel angezeigt werden. Leider gelingt es mir weder bei meinem Programm noch bei der Lösung das Ergebnis in das JLabel (in den JLabel?) zu bekommen.
Mein Code sieht folgendermaßen aus (und ist mit der Lösung nahezu identisch):
Der Compiler bzw. Eclipse zeigt nach der Umrechnung folgende Meldung an:
Ich habe mich natürlich schon umgesehen und habe ein wenig recherchiert, bin jedoch nicht wirklich fündig geworden, da ich die Lösungsvorschläge aus meiner Sicht bereits in dem Programm umgesetzt habe.
Ich bedanke mich im Voraus und
viele Grüße
ich lerne momentan mit Hilfe des Buches "Programmieren lernen mit Java" Java!
In diesem befinden sich Aufgaben, die es zu erfüllen gilt und natürlich entsprechende Lösungen.
Ich soll nun ein Programm erstellen dass Zoll in Zentimeter umrechnet. Dazu hab ein JFrame mit dem Textfeld zur Eingabe des Zollwerts, ein Button um die Umrechnung auszulösen und einen Button um das Programm zu beenden bzw. das Fenster zu schließen. Das Ergebnis soll dann in einem JLabel angezeigt werden. Leider gelingt es mir weder bei meinem Programm noch bei der Lösung das Ergebnis in das JLabel (in den JLabel?) zu bekommen.
Mein Code sieht folgendermaßen aus (und ist mit der Lösung nahezu identisch):
Code:
package gui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class ZollZentimeter extends JFrame {
private JPanel contentPane;
private JTextField tfZoll;
private JLabel lblZentimeter;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ZollZentimeter frame = new ZollZentimeter();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ZollZentimeter() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
tfZoll = new JTextField();
tfZoll.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
umrechnen();
}
}
});
tfZoll.setBounds(20, 60, 134, 20);
contentPane.add(tfZoll);
tfZoll.setColumns(10);
JLabel lblZoll = new JLabel("Zoll");
lblZoll.setBounds(20, 35, 46, 14);
contentPane.add(lblZoll);
JLabel lblZentimeter = new JLabel("");
lblZentimeter.setBounds(282, 60, 116, 14);
contentPane.add(lblZentimeter);
JButton btnEnde = new JButton("Ende");
btnEnde.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
JButton btnUmrechnen = new JButton("Umrechnen");
btnUmrechnen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
umrechnen();
}
});
btnUmrechnen.setBounds(20, 120, 134, 23);
contentPane.add(btnUmrechnen);
btnEnde.setBounds(282, 120, 89, 23);
contentPane.add(btnEnde);
}
private void umrechnen() {
double zoll, zentimeter;
zoll = Double.parseDouble(tfZoll.getText());
zentimeter = zoll * 2.54;
DecimalFormat f = new DecimalFormat("#0.00");
this.lblZentimeter.setText(f.format(zentimeter) + "cm");
tfZoll.requestFocus();
tfZoll.selectAll();
}
}
Der Compiler bzw. Eclipse zeigt nach der Umrechnung folgende Meldung an:
at java.awt.EventDispatchThread.run(Unknown Source)
Ich habe mich natürlich schon umgesehen und habe ein wenig recherchiert, bin jedoch nicht wirklich fündig geworden, da ich die Lösungsvorschläge aus meiner Sicht bereits in dem Programm umgesetzt habe.
Ich bedanke mich im Voraus und
viele Grüße