Moin leutes!
Ich habe folgendes Programm geschrieben :
In der Zeile, wo if (source == b1 && angabe == 0.80); steht, wird angabe == 0.80 unterstrichen. TextField and double are incompatible. Dies habe ich versucht, mir einem doubleParsen zu lösen. Was muss aber in die Klammer von Parsen(Hier) rein? Und habe ich noch einen Fehler gemacht?
2.) Wieso kann ich nur if schreiben und nicht if else? Wenn ich es schreibe, wird else rot markiert.
Hoffe ihr könnt mir helfen!
LG Max
Ich habe folgendes Programm geschrieben :
Code:
import java.awt.Color; //für Hintergrundfarbe
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
import javax.swing.*;
import javax.swing.text.NumberFormatter;
public class Parkscheinautomat4 extends JFrame implements ActionListener { // Klasse erbt von
//Jframe und ActionListener
JButton b1 = new JButton(" Bestätigen"); //Hier erstellt, damit sie keine
JButton b2 = new JButton(" Löschen"); //lokalen Variablen sind
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JTextArea TextBereich = new JTextArea(11,20);
JTextField ausgabe = new JTextField(15);
JLabel l1 = new JLabel("Eingabe Betrag: ");
JLabel l2 = new JLabel("Ihre Parkzeit : ");
JTextField angabe = new JTextField();
double angabe = double.Parse();
public Parkscheinautomat4() {
super("Ein Parkscheinautomat"); //Fensterüberschrift
TextBereich.setText("Zahlungsmöglichkeiten:\n" + //Was in der Textarea steht
"Es ist ausschließlich Bar zu zahlen!\n" +
"-----------------------\n" +
"Parkgebühren:\n" +
"30 Minuten = € 0,80\n" +
"1 Stunde = € 1,60\n" +
"2 Stunden = € 3,20\n" +
"-----------------------\n" +
"Höchstparkdauer:\n" +
"2 Stunden\n" );
TextBereich.setEditable(false); //Text nicht
ausgabe.setEditable(false); //veränderbar
TextBereich.setBackground(Color.CYAN); // ein bissi Farbe muss sein :)
panel.setLayout(new BoxLayout(panel,BoxLayout.PAGE_AXIS)); //Layout wird erstellt
//untereinander
panel.add(TextBereich);
panel.add(l1);
panel.add(angabe); //alle Objekte werden in das Panel eingefügt(geaddet)
panel.add(b1);
panel.add(b2);
panel.add(l2);
panel.add(ausgabe);
add(panel);
pack();
b1.addActionListener(this); //ActionListener für die 2 Buttons erstellt
b2.addActionListener(this);
}
public static void main(String[] arguments) { //Main-Methode
Parkscheinautomat4 PA = new Parkscheinautomat4();
// PA.setSize(500,500); //unklug, da Größe sowieso mit pack(); bestimmt wird
//Textfelder nehmen unrealistische und unnötige Größen an
PA.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Fenster wird komplett geschlossen
PA.setResizable(false); //Fenstergröße nicht änderbar
PA.setLocationRelativeTo(null); //fenster zentriert
PA.setVisible(true);
}
public void actionPerformed(ActionEvent evt){ //Action für Buttons
Object source = evt.getSource();
if (source == b1 && angabe == 0.80);
ausgabe.setText("Sie dürfen 30 Minuten Parken!");
if (source == b2)
angabe.setText("");
repaint();
}
}
In der Zeile, wo if (source == b1 && angabe == 0.80); steht, wird angabe == 0.80 unterstrichen. TextField and double are incompatible. Dies habe ich versucht, mir einem doubleParsen zu lösen. Was muss aber in die Klammer von Parsen(Hier) rein? Und habe ich noch einen Fehler gemacht?
2.) Wieso kann ich nur if schreiben und nicht if else? Wenn ich es schreibe, wird else rot markiert.
Hoffe ihr könnt mir helfen!
LG Max