Methoden implementieren?

MädMäx

Mitglied
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:

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
 

MädMäx

Mitglied
Hallo ashanti,

ja. Ich habe einen benutzerdefinierten Datentyp Person erstellt, deswegen auch im unteren Teil des Codes ArrayLists mit Personen - das nur am Rande.

in meiner Main ruf ich folgendes auf:

Oberflaeche frame = new Oberflaeche();
frame.show();

Danke im Voraus,
Grüße
 

javimka

Top Contributor
Verstehe nicht, was nicht funktioniert. Hast du in deiner Methode vielleicht den Rückgabewert vergessen, also ein [c]return false;[/c] (oder true);

EDIT: Verwende nicht frame.show, sondern frame.setVisible(true). show() ist deprecated, sollest du nicht verwenden.
 
S

SlaterB

Gast
> do { } while (boolean b == true)

ist kein korrekter Code, ansonsten ist keine Frage ersichtlich, schon gar nicht was es mit den hunderten Zeilen Code zu tun hat

Zeile 262
eingabePerson.setNachName(ersNachName.getText());
kann man bestimmt löschen und es besteht immer noch das gleiche Problem, oder?
 

MädMäx

Mitglied
Ich will mir Methoden basteln, um Codestücke nicht x-mal wiederholen zu müssen.

angenommen:

Java:
public boolean check()
{
	return false;
}

rein fiktiv, nur um die Fehler aufzuzeigen:

Multiple markers at this line
- check cannot be resolved to a type
- Syntax error on token "boolean", @ expected
- Syntax error, insert "EnumBody" to complete BlockStatement
- Syntax error, insert "enum Identifier" to complete
EnumHeaderName

Sorry, dass ich mich so undeutlich ausdrücke - mir fehlt die Kompetenz irgendwie noch.

EDIT: Ich will Methoden selbst schreiben, sprich entweder in der Oberflaechen-Klasse oder ersatzweise woanders - wo ich aber trotzdem noch auf Inhalte in der Oberflaechen-Klasse zugreifen kann.

Gruß
 
Zuletzt bearbeitet:

ashanti

Mitglied
Hi,

Wieso kann ich keine Methoden in der Klasse Oberflaeche aufrufen?

geht doch, hier ein Beispiel aus der Klasse Oberfläche:
Java:
 Person2.setText("Zweite Person");

gibt dich mal ein Beispiel wie du das meinst oder zeig doch mal, wie du eine Methode aufrufst.
gruß
 
S

SlaterB

Gast
wenn Zeilen wie
Java:
public boolean check()
{
	return false;
}

zu lauter Fehlern führen, obwohl sie für sich richtig aussehen, dann oft weil sie an falscher Stelle stehen,
z.B. innerhalb einer anderen Methode, das geht nämlich nicht
 

ashanti

Mitglied
Hi,
Ich will mir Methoden basteln, um Codestücke nicht x-mal wiederholen zu müssen.

dann fang doch mal damit an, die Menge an sich wiederholenden Labels in eine Methode zu fassen.
Wenn du mal eine Anwendung mit 100ten von Labels hast, dann wird das echt viel mit Arbeit...
Java:
JLabel[] lab;

String[] stringLabel ={"Hier", "kommen", "alle", "meine", "Labelbeschriftungen", "hinein"};

public JLabel[] erzeugeLabels(String stringLabelAufnahme)
{
  int i = stringLabelAufnahme.length;
  lab = new JLabel[i];
      for(int x = 0; x < i; x++)
         {
           lab[x] = new JLabel(stringLabelAufnahme[x]);
           }
     return lab;
}
Das gleiche kannst du auch mit deinen TextFields machen...

gruß
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Kindklassen sollen Ihre Methoden selbst implementieren Java Basics - Anfänger-Themen 5
O Methoden implementieren, Sichtbarkeiten, Brüche Java Basics - Anfänger-Themen 104
N Eigene Stream Methoden implementieren Java Basics - Anfänger-Themen 3
S Interface Implementieren von Methoden aus einer Klasse in eine GUI Java Basics - Anfänger-Themen 6
I Taschenrechner - Methoden implementieren Java Basics - Anfänger-Themen 5
emreiu Methoden Rekursive Methoden Runter- & Hochzählen Java Basics - Anfänger-Themen 2
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
Alen123 Erstes Arbeiten mit Methoden. Java Basics - Anfänger-Themen 5
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
M Erklärung von Ausnahmebehandlung in Methoden Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
L Rekursive Methoden Java Basics - Anfänger-Themen 14
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
W Methoden aufrufen - auch klassenübergreifend? Java Basics - Anfänger-Themen 9
Kotelettklopfer Methoden nicht aufrufbar Java Basics - Anfänger-Themen 34
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
S abstrakte methoden in subclass? Java Basics - Anfänger-Themen 7
S Methoden - Warum int wenn auch void? Java Basics - Anfänger-Themen 3
H Kann man Methoden öfter aufrufen? Java Basics - Anfänger-Themen 2
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
lougoldi Verkettung von Methoden und Konstruktoren Java Basics - Anfänger-Themen 4
Zeppi OOP Methoden mit einander Verknüpfen Java Basics - Anfänger-Themen 6
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
A Parametar übergabe zwischen Methoden Java Basics - Anfänger-Themen 26
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
M Bräuchte Hilfe bei diesen Methoden Java Basics - Anfänger-Themen 4
G Methoden Methoden mit versch. Datentypen Java Basics - Anfänger-Themen 1
T Ich habe eine Variabel die nicht Methoden übergreifend ist. Kann mir jemand Helfen :) Java Basics - Anfänger-Themen 5
Junger_Basileus Celsius -> Fahrenheit / Strukturierung in statischen Methoden Java Basics - Anfänger-Themen 7
J Verschachtelte Methoden Java Basics - Anfänger-Themen 9
H Methoden in anderen Methoden aufrufen Java Basics - Anfänger-Themen 6
Kawastori Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6
veryck Methoden Rekursive Methoden mit Rückgabeparameter Java Basics - Anfänger-Themen 9
C Methoden können nicht auf Instanzvariable der Klasse zugreifen Java Basics - Anfänger-Themen 3
P Methoden aufrufen - Fehler Java Basics - Anfänger-Themen 20
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Generics Methoden Java Basics - Anfänger-Themen 7
L Test-Methoden schreiben Java Basics - Anfänger-Themen 13
S throws bei Methoden Java Basics - Anfänger-Themen 4
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
C Methoden-Parameter ist Interface Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
L Methoden Wie Löse ich ext Methoden Aufruf Fehler? Java Basics - Anfänger-Themen 3
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
B Methoden Ausgeben Aufgabe Java Basics - Anfänger-Themen 15
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
T Methoden Verständnis Java Basics - Anfänger-Themen 14
M Feste Reihenfolge von dem Ablauf von Methoden Java Basics - Anfänger-Themen 7
G Java Abstrakte Methoden Java Basics - Anfänger-Themen 2
N Klassen Warum kann meine Klasse nicht auf Methoden der anderen Klasse zugreifen? Java Basics - Anfänger-Themen 6
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
Kirby.exe Methoden Aufrufe Java Basics - Anfänger-Themen 4
G Objekte in Methoden? Java Basics - Anfänger-Themen 13
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Unterklasse soll nicht alle Methoden erben Java Basics - Anfänger-Themen 3
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
H Aufruf von Methoden durch Methoden Java Basics - Anfänger-Themen 3
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
H Wie kann ich durch Methoden definiren? Java Basics - Anfänger-Themen 8
D Methoden Scannervariablen in static Methoden Java Basics - Anfänger-Themen 5
P Verzweigungen und Methoden Java Basics - Anfänger-Themen 10
C Methoden/Klassen Übergabewerte Java Basics - Anfänger-Themen 8
B Methoden Mehrere ähnliche Methoden zusammenfassen Java Basics - Anfänger-Themen 24
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
C Java Methoden "Parameter" Problem Java Basics - Anfänger-Themen 16
B Polymorphie Warum funktionieren polymorphe Referenzvariablen bei überschriebenen Methoden und bei nicht überschriebenen nicht? Java Basics - Anfänger-Themen 3
B Methoden Java Basics - Anfänger-Themen 1
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
P Methoden richtig anwenden Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben