Hallo Forum,
ich versuche mich gerade an ersten Übungsaufgaben zum Umgang mit dem WindowBuilder in Eclipse und habe leider bei der vermutlich total simplen Lösungsfindung für die Ausgabe einer Umrechnung in ein Label so meine Schwierigkeiten.
Ich weiß, dass das Problem vermutlich dem hier sehr stark ähnelt:
aber auch mit der dort beschriebenen, prinzipiellen Lösung komme ich nicht weiter.
Was ich davon selber geschrieben habe und nicht automatisch durch das Zusammenbauen im Designer geschehen ist, sind die Umrechnung und das "private JLabel lblincm", da bei Weglassen von letzterem schon im Code eine Fehlermeldung kommt (was ich auch nicht verstehe).
Will ich die Berechnung durchführen, sei es durch Drücken der Returntase oder durch Klick auf "Umrechnung", kommt eine ellenlange Fehlerliste dieser Art:
Bin um Hilfe/Hinweise sehr dankbar, ich vermute mal es ist einer dieser Fehler, für die ich nur durch zu langes Draufgucken blind geworden bin.
Mit freundlichen Grüßen
ich versuche mich gerade an ersten Übungsaufgaben zum Umgang mit dem WindowBuilder in Eclipse und habe leider bei der vermutlich total simplen Lösungsfindung für die Ausgabe einer Umrechnung in ein Label so meine Schwierigkeiten.
Ich weiß, dass das Problem vermutlich dem hier sehr stark ähnelt:
Window Builder - Labels mit setText befüllen
Hey, ich habe gerade damit angefangen mich mit WindowBuilder zu beschäftigen. Dabei bin ich auf folgendes Problem gestoßen: Ich möchte ein Programm erstellen das eine Stückzahl in ältere Maße, wie Dutzend umrechnet. Dazu habe ich mit WindowBuilder ein JFrame erstellt, mit einem JTextField zur...
www.java-forum.org
aber auch mit der dort beschriebenen, prinzipiellen Lösung komme ich nicht weiter.
Javascript:
package gui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.text.DecimalFormat;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class ZollZentimeter extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField tfZoll;
private JLabel lblincm;
/**
* 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);
JLabel lblZoll = new JLabel("Zoll:");
lblZoll.setBounds(10, 24, 45, 13);
contentPane.add(lblZoll);
tfZoll = new JTextField();
tfZoll.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
umrechnen();
}
}
});
tfZoll.setBounds(10, 47, 85, 19);
contentPane.add(tfZoll);
tfZoll.setColumns(10);
JButton btnNewButton = new JButton("Umrechnen");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
umrechnen();
}
});
btnNewButton.setBounds(10, 73, 107, 21);
contentPane.add(btnNewButton);
JButton btnNewButton_1 = new JButton("Ende");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
btnNewButton_1.setBounds(127, 73, 107, 21);
contentPane.add(btnNewButton_1);
JLabel lblcm = new JLabel("in cm:");
lblcm.setBounds(127, 24, 45, 13);
contentPane.add(lblcm);
JLabel lblincm = new JLabel();
lblincm.setBounds(127, 50, 45, 13);
contentPane.add(lblincm);
}
private void umrechnen() {
double zoll, cm;
zoll = Integer.parseInt(tfZoll.getText());
cm = zoll * 2.54;
lblincm.setText(cm + "cm");
tfZoll.requestFocus();
tfZoll.selectAll();
}
}
Was ich davon selber geschrieben habe und nicht automatisch durch das Zusammenbauen im Designer geschehen ist, sind die Umrechnung und das "private JLabel lblincm", da bei Weglassen von letzterem schon im Code eine Fehlermeldung kommt (was ich auch nicht verstehe).
Will ich die Berechnung durchführen, sei es durch Drücken der Returntase oder durch Klick auf "Umrechnung", kommt eine ellenlange Fehlerliste dieser Art:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at gui.ZollZentimeter.umrechnen(ZollZentimeter.java:107)
at gui.ZollZentimeter$3.actionPerformed(ZollZentimeter.java:77)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6636)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6401)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2762)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Bin um Hilfe/Hinweise sehr dankbar, ich vermute mal es ist einer dieser Fehler, für die ich nur durch zu langes Draufgucken blind geworden bin.
Mit freundlichen Grüßen