Hallo zusammen,
Ich programmiere erst seit Kurzem und dementsprechend auch erst seit Kurzem Java.
Wieso kann ich keine Methoden in der Klasse Oberflaeche aufrufen? Beispielsweise eine Check-Methode, ob der Benutzer eine richtige Eingabe gemacht hat (Rückgabewert boolean) und etwas solange ausgeführt wird, bis der boolean richtig ist? bspw: do { } while (boolean b == true)
Hier mein Code:
Sorry, wenn meine Fehlerbeschreibung oder Fragestellung etwas ungenau ist :/
Viele Grüße,
Maxi
Ich programmiere erst seit Kurzem und dementsprechend auch erst seit Kurzem Java.
Wieso kann ich keine Methoden in der Klasse Oberflaeche aufrufen? Beispielsweise eine Check-Methode, ob der Benutzer eine richtige Eingabe gemacht hat (Rückgabewert boolean) und etwas solange ausgeführt wird, bis der boolean richtig ist? bspw: do { } while (boolean b == true)
Hier mein Code:
Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
public class Oberflaeche extends JFrame {
{
final JPanel zimmer;
final JPanel person;
final JCheckBox checkPartner;
setTitle("Hotel von und zu Dynamo Dresden, hinterm Mond rechts");
final JPanel panel = new JPanel();
Toolkit toolkit;
toolkit = getToolkit();
Dimension size = toolkit.getScreenSize();
add(panel);
setSize(toolkit.getScreenSize());
setLocation(size.width / 2 - getWidth() / 2, size.height / 2
- getHeight() / 2);
panel.setLayout(null);
JTabbedPane contentPanel = new JTabbedPane();
// Pannel erstellen
zimmer = new JPanel();
zimmer.setLayout(null);
person = new JPanel();
person.setLayout(null);
JLabel ueberSchrift = new JLabel();
ueberSchrift.setText("Hotel Dynamö Dresden");
Font f18 = new Font("TimesRoman", Font.BOLD, 18);
ueberSchrift.setFont(f18);
ueberSchrift.setBounds(400, 10, 400, 50);
zimmer.add(ueberSchrift);
/*
* Textfelder für Person1 im Fenster Zimmer hinzufügen
*/
JTextField txfVorName = new JTextField("", 20);
txfVorName.setBounds(200, 100, 200, 20);
zimmer.add(txfVorName);
System.out.println(txfVorName.getText());
JTextField txfNachName = new JTextField("", 20);
txfNachName.setBounds(200, 180, 200, 20);
zimmer.add(txfNachName);
JTextField txfGeschlecht = new JTextField("", 20);
txfGeschlecht.setBounds(200, 260, 200, 20);
zimmer.add(txfGeschlecht);
JTextField txfGebDatum = new JTextField("", 20);
txfGebDatum.setBounds(200, 340, 200, 20);
zimmer.add(txfGebDatum);
JTextField txfPartner = new JTextField("", 20);
txfPartner.setBounds(200, 420, 200, 20);
zimmer.add(txfPartner);
/*
* Textfelder für Person2 im Fenster Person hinzufügen
*/
final JTextField txfVorName1 = new JTextField("", 20);
txfVorName1.setBounds(500, 100, 200, 20);
zimmer.add(txfVorName1);
final JTextField txfNachName1 = new JTextField("", 20);
txfNachName1.setBounds(500, 180, 200, 20);
zimmer.add(txfNachName1);
final JTextField txfGeschlecht1 = new JTextField("", 20);
txfGeschlecht1.setBounds(500, 260, 200, 20);
zimmer.add(txfGeschlecht1);
final JTextField txfGebDatum1 = new JTextField("", 20);
txfGebDatum1.setBounds(500, 340, 200, 20);
zimmer.add(txfGebDatum1);
final JTextField txfPartner1 = new JTextField("", 20);
txfPartner1.setBounds(500, 420, 200, 20);
zimmer.add(txfPartner1);
/*
* Beschreibungen zu den Textfeldern erstellen - in Form von Labels
*/
JLabel vName = new JLabel("Vorname");
vName.setBounds(100, 100, 80, 20);
zimmer.add(vName);
JLabel nName = new JLabel("Nachname");
nName.setBounds(100, 180, 80, 20);
zimmer.add(nName);
JLabel lGeschlecht = new JLabel("Geschlecht w/m");
lGeschlecht.setBounds(100, 260, 95, 20);
zimmer.add(lGeschlecht);
JLabel lGebDatum = new JLabel("Geburtsdatum");
lGebDatum.setBounds(90, 340, 90, 20);
zimmer.add(lGebDatum);
JLabel lPartner = new JLabel("Partner");
lPartner.setBounds(100, 420, 80, 20);
zimmer.add(lPartner);
/*
* Beschreibungen über den Spalten
*/
JLabel Person1 = new JLabel();
Person1.setText("Erste Person");
Person1.setBounds(250, 60, 200, 20);
zimmer.add(Person1);
JLabel Person2 = new JLabel();
Person2.setText("Zweite Person");
Person2.setBounds(550, 60, 200, 20);
zimmer.add(Person2);
/*
* Checkbox für das Abprüfen, ob Partner vorhanden
*/
checkPartner = new JCheckBox("Kommt der Partner mit?", false);
checkPartner.setBounds(300, 500, 180, 30);
zimmer.add(checkPartner);
checkPartner.addActionListener(new ActionListener() {
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e) {
/*
* sperrt die Textfelder in Spalte 2, falls Partner mitkommt und
* weist mit Farbe rot daraufhin
*/
if (checkPartner.isSelected()) {
txfGebDatum1.enable(false);
txfGeschlecht1.enable(false);
txfNachName1.enable(false);
txfPartner1.enable(false);
txfVorName1.enable(false);
txfGebDatum1.setBackground(Color.red);
txfGeschlecht1.setBackground(Color.red);
txfNachName1.setBackground(Color.red);
txfPartner1.setBackground(Color.red);
txfVorName1.setBackground(Color.red);
} else {
txfGebDatum1.enable(true);
txfGeschlecht1.enable(true);
txfNachName1.enable(true);
txfPartner1.enable(true);
txfVorName1.enable(true);
txfGebDatum1.setBackground(Color.white);
txfGeschlecht1.setBackground(Color.white);
txfNachName1.setBackground(Color.white);
txfPartner1.setBackground(Color.white);
txfVorName1.setBackground(Color.white);
}
}
});
/*
* Button zum Einlesen der Dateien
*/
JButton doAction = new JButton("In Zimmer einbuchen");
doAction.setBounds(500, 505, 180, 20);
zimmer.add(doAction);
doAction.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
/*
* ----------------------------------------------------------------------
* -----------------------------------------------------
*/
JLabel ueberSchrift1 = new JLabel();
ueberSchrift1.setText("Hotel Dynamö Dresden");
ueberSchrift1.setFont(f18);
ueberSchrift1.setBounds(400, 10, 400, 50);
person.add(ueberSchrift1);
/*
* Textfelder für Personen erstellen
*/
final JTextField ersVorName = new JTextField("", 20);
ersVorName.setBounds(200, 100, 200, 20);
person.add(ersVorName);
final JTextField ersNachName = new JTextField("", 20);
ersNachName.setBounds(200, 180, 200, 20);
person.add(ersNachName);
final JTextField ersGeschlecht = new JTextField("", 20);
ersGeschlecht.setBounds(200, 260, 200, 20);
person.add(ersGeschlecht);
final JTextField ersGebDatum = new JTextField("", 20);
ersGebDatum.setBounds(200, 340, 200, 20);
person.add(ersGebDatum);
JTextField ersPartner = new JTextField("", 20);
ersPartner.setBounds(200, 420, 200, 20);
person.add(ersPartner);
JLabel erstellePerson = new JLabel();
erstellePerson.setText("Details für Person");
erstellePerson.setBounds(250, 60, 200, 20);
person.add(erstellePerson);
/*
* Beschreibungen für zu erstellende Person
*/
JLabel vName1 = new JLabel("Vorname");
vName1.setBounds(100, 100, 80, 20);
person.add(vName1);
JLabel nName1 = new JLabel("Nachname");
nName1.setBounds(100, 180, 80, 20);
person.add(nName1);
JLabel lGeschlecht1 = new JLabel("Geschlecht w/m");
lGeschlecht1.setBounds(100, 260, 95, 20);
person.add(lGeschlecht1);
JLabel lGebDatum1 = new JLabel("Geburtsdatum");
lGebDatum1.setBounds(90, 340, 90, 20);
person.add(lGebDatum1);
JLabel lPartner1 = new JLabel("Partner");
lPartner1.setBounds(100, 420, 80, 20);
person.add(lPartner1);
JButton personErstell = new JButton("Erstelle Person!");
personErstell.setBounds(200, 450, 190, 20);
person.add(personErstell);
setContentPane(contentPanel);
setVisible(true);
final ArrayList<Person> personen = new ArrayList<Person>();
personErstell.addActionListener(new ActionListener() {
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e) {
Person eingabePerson = new Person();
eingabePerson.setNachName(ersNachName.getText());
eingabePerson.setVorName(ersVorName.getText());
eingabePerson.setGeschlecht(ersGeschlecht.getText());
eingabePerson.setGebDatum(ersGebDatum.getText());
personen.add(eingabePerson);
}
});
// Tabs hinzufügen
contentPanel.add("Person erstellen", person);
contentPanel.add("Zimmer", zimmer);
}
}
Sorry, wenn meine Fehlerbeschreibung oder Fragestellung etwas ungenau ist :/
Viele Grüße,
Maxi