kleines Karteikartenprogramm

java-wing

Neues Mitglied
Hallo liebe Forum-User,

ich bin noch ein Anfänger in Bezug auf Java und neu hier im Forum. Ich will zu Übungszwecken ein kleines Karteikartenprogramm erstellen.

Ich möchte ein Java Programm erstellen, dass einen Text einliest und mir daraus Karteikarten zum Lernen erstellt.
Die Vorderseite der Karteikarte wird im Text durch ein #-Zeichen symbolisiert.
Dadurch soll diese Zeile mit dem #Zeichen als vorderseite und die rueckseite mit dem restlichen Text initialisiert werden bis wieder ein #Zeichen auftritt.

Das funktioniert auch schon soweit.

Nun will ich als nächsten Schritt eine kleine grafische Oberfläche erstellen.
Diese soll immer durch einen Klick auf einen Button ausgelöst, Vorder und Rückseite der Karteikarte anzeigen.(also eine kleine Abfrage zum lernen darstellen)

Und da ist jetzt auch mein Problem:
Ich habe eine Klasse "GUI" angelegt, in der meine "grafische Oberfläche" erstellt wird.
(das habe ich mir abegugckt aus einem Internet-tutorial, welches eigentlich einen Button erstellt, der durch einen klick eine hochlaufende Zahl anzeigt)
Doch wie kann ich der Klasse GUI mein array karteikarten übergeben (mit dem GUI-Konstruktor hat das nicht funktioniert) oder in der GUI Klasse auf das Array karteikarte mit den Attributen zugreifen.
Ich bin mir da nicht sicher ob man das über Vererbung oder Interfaces machen kann oder ob ich meine Klassen grundsätzlich anders strukturieren muss.


Es wäre super, wenn ihr mir Tipps oder Ideen geben könntet wie ich das umsetzen kann. :)

Viele Grüße
java-wing

Java:
import java.io.*;
public class Einlesen  {

/* Diese Klasse soll das Einlesen aus einer Text-Datei übernehmen.
	Dabei wird immer da wo ein #-Zeichen im eingelesenen Text-Dokument steht, 
	der Konstruktor von Karteikarte aufgerufen und damit das Array karteikarte
	mit jeweils dem Attribut vorderseite sowie rueckseite initialisiert.
	
	Zu Testzwecken wird nun in der Konsole einmal das Attribut vorder bzw. rueckseite ausgegeben	
	*/

	public static void main(String[] ars) throws IOException {
	
		FileReader fr = new FileReader("text.txt");
		BufferedReader br = new BufferedReader(fr);
		
		String zeile = "";
		String text = "";
		String test = "";
		String vd = "Anfang";
		Karteikarte[] karteikarte = new Karteikarte[20];
		int a=0;
		

		while( (zeile = br.readLine()) != null ){

		//System.out.println(zeile); 
			if (zeile.contains("#")){
		
				if (a>0){
					karteikarte[a] = new Karteikarte(vd, text);
				}
					text = "";
					vd = zeile;
					a++;
			}
				else { 
					text = text + "\n" + zeile;
				}
	
		}
		for(int i=1; i<a;i++){
		        System.out.println("Vorderseite:  " + karteikarte[i].getVorderseite());
		        System.out.println("Rueckseite:   " + karteikarte[i].getRueckseite());
		}
		
		
		
		}

		new GUI();

		br.close();
}
	}

Java:
/* Das ist die Klasse Karteikarte die die übergebenen Strings als vorder bzw. rueckseite initialisiert.
Außerdem enthält die Methode eine Getter sowie auch Setter Methode
*/

public class Karteikarte {

	private String vorderseite;
	private String rueckseite;
	
		public Karteikarte (String vorderseite, String rueckseite){
			this.vorderseite = vorderseite;
			this.rueckseite = rueckseite;
			
		}
		
		public String getVorderseite(){
			return vorderseite;
			}
			
		public String getRueckseite(){
			return rueckseite;
			}
}

Java:
/* Grafische Oberfläche für meine Kartekarte
*/

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class GUI extends JFrame implements ActionListener {
	
	int zahl = 0; 
	
	JLabel text = new JLabel();
	JButton knopf = new JButton();
	
	int k = 1;
	private String bla;

	
	public GUI(){
		
		
		this.setTitle("Karteikartenprogramm"); //Setzen des Names des Fensters 
		
		this.setDefaultCloseOperation(EXIT_ON_CLOSE); //dass das Fenster durch das x geschlossen werden kann
		
		this.setLayout(new FlowLayout()); //Layout
		
		text.setText("hallo"); //erster Anzeige Text
		this.add(text);
		
		knopf.setText("umdrehen");  //Button mit dem Namen umdrehen 
		knopf.addActionListener(this);
		knopf.setActionCommand("ZAEHLEN");
		
		this.add(knopf);
		
		
		this.pack();
		this.setVisible(true);
		
	}
		
		String[] test3 = {"hallo", "test", "diesdas", "lala"};  // ein test string um zu probieren ob es überhaupt funktioniert
		
		private String hochzaehlen2(int k){  // gibt den String aus dem test3 Array zurück
		 return test3[k];
			//System.out.println(bla);
			}
		
		public void actionPerformed(ActionEvent e) { // durch einen Klick auf den Button wird der neue der String aus dem test3 array abgerufen und initialisiert, danach zählvariable +1
			if(e.getActionCommand().equals("ZAEHLEN")) { // 
		
			text.setText(test3[k]);
				k++;
				this.repaint();
			}
		}
		

}
 

Anhänge

  • Karteikarte.java
    555 Bytes · Aufrufe: 24
  • GUI.java
    2,3 KB · Aufrufe: 18
  • Einlesen.java
    1,9 KB · Aufrufe: 18
  • text.txt
    279 Bytes · Aufrufe: 14
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

Und da ist jetzt auch mein Problem:
Ich habe eine Klasse "GUI" angelegt, in der meine "grafische Oberfläche" erstellt wird.
Doch wie kann ich der Klasse GUI mein array karteikarten übergeben (mit dem GUI-Konstruktor hat das nicht funktioniert)
Was heißt denn genau "... hat nicht funktioniert ..." ???:L
(Was hast Du denn versucht? Was war die Folge?)

Warum übergibst Du "karteikarte" nicht einfach im Konstruktor von GUI ???:L

Gruß
Klaus
 
Zuletzt bearbeitet:

java-wing

Neues Mitglied
Vielen Dank Klaus.

Mit " es hat nicht funktioniert" meinte ich, dass ich es ausprobiert habe, und es so wie ich es geschrieben hatte, nicht compilieren wollte und dachte dass ich da grundsätzlich was falsch mache und es deshalb nicht weiter probiert habe... Da lag aber der Fehler!

Jetzt klappts! :applaus:
 

kaoZ

Top Contributor
Grundsätzlich würde ich die Visualisierung nicht zwingend GUI nennen, sondern das was es darstellen soll, nämlich Karteikarte , zudem würde ich nicht von JFrame ableiten da du die Klasse JFrame nicht um Funktionalität erweiterst, sondern von JComponent oder JPanel, die Daten die jede einzelne Karte dann beinhaltet würde ich dann z.B KarteiKartenModell nennen, in Anlehnung an das MVC Konzept.

man kann natürlich auch den weg ohne Vererbung wählen und einfach nur eine Referenz auf ein JPanel oder eine JComponent halten und über getter dieses dann mit Inhalt zurückgeben lassen, ist aber in den meisten Fällen komplizierter anzuwenden bzw. geringfügig mehr Schreibarbeit.

Java:
public class KarteiKarte extends JComponent{

  private KarteiKartenModel model;

  public KarteiKarte(KarteiKartenModell model){
     this.model = model;
  }

  public KarteiKarte(final int index, KarteiKartenModell model){...}

//..usw.
}

so könnte man z.B auch gleich einen Index für die Karten im Konstruktor anlegen :)

Java:
public class KarteiKartenModel{
  
  private String frage;  // oder halt vorder 
  private String antwort; // und rueckseite...

...usw...
}

Die Klasse GUI könnte dann z.B ein JFrame sein welches eine Liste von KarteiKarten (Komponenten) hält und diese dann nacheinander anzeigt / den User abfragt, usw usw.. :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
M Kleines Problem mit der Rekursion Java Basics - Anfänger-Themen 20
K Kleines Projekt Java Basics - Anfänger-Themen 2
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
H kleines Spiel [Processing] Java Basics - Anfänger-Themen 7
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D Kleines Abfrageproblem Java Basics - Anfänger-Themen 3
K kleines Rekursionsproblem Java Basics - Anfänger-Themen 7
P RSA Verschlüsselung kleines Problem Java Basics - Anfänger-Themen 5
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
P Kleines Problemm mit einer NullPointerException Java Basics - Anfänger-Themen 2
R kleines Kunstprogramm "mkbox" perfektionieren Java Basics - Anfänger-Themen 13
P wahrscheinlich ein kleines Problem Java Basics - Anfänger-Themen 7
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
K Kleines Spiel / Daten speichern Java Basics - Anfänger-Themen 8
T Kleines Spiel realisieren - wie? Java Basics - Anfänger-Themen 6
H Kleines Problem mit der Polymorphie Java Basics - Anfänger-Themen 2
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
K kleines Array-Problem Java Basics - Anfänger-Themen 6
C Kleines 2D Spiel. Problem. Java Basics - Anfänger-Themen 5
T Kleines Verständnissproblem mit Regex Java Basics - Anfänger-Themen 4
U Kleines Problem mit Konstruktor^^ Java Basics - Anfänger-Themen 7
S Kleines Kartenspiel mit Java Java Basics - Anfänger-Themen 2
D kleines Eclipse-Problem ! Java Basics - Anfänger-Themen 2
I Kleines Program, fehler? Java Basics - Anfänger-Themen 2
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
0 Frage zu Architektur: Server eines kleines Spiels Java Basics - Anfänger-Themen 4
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
C kleines Menü erzeugen und anzeigen Java Basics - Anfänger-Themen 11
S Kleines TickTackTou Java Basics - Anfänger-Themen 10
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
M Kleines Problem mit Threads (synchronized) Java Basics - Anfänger-Themen 3
J Java, kleines denkproblem. :) Java Basics - Anfänger-Themen 4
N Kleines Problemchen mit ButtonGroup Java Basics - Anfänger-Themen 2
W ein kleines Projekt! Aber wie beginnen Java Basics - Anfänger-Themen 4
S Kleines Problem... NaN, Infinity? Java Basics - Anfänger-Themen 9
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
G Kleines Problem mit File Java Basics - Anfänger-Themen 7
O Neuen Blackberry 8800 oder Curve gegen kleines Programm Java Basics - Anfänger-Themen 9
Z kleines projekt Java Basics - Anfänger-Themen 3
G ein kleines java prog - hat aber einen fehler-bitte um hilfe Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
N Nur ein kleines Installationsproblem . Java Basics - Anfänger-Themen 5
G Kleines Problem mit Nimmspiel Java Basics - Anfänger-Themen 8
U kleines problem bei ner aufgabe :( Java Basics - Anfänger-Themen 8
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
S Kleines Programm mit ArrayList Java Basics - Anfänger-Themen 7
M Kleines Programm Java Basics - Anfänger-Themen 5
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Kleines Problem Java Basics - Anfänger-Themen 3
D kleines script abhaengig von Ordner Bilder kopieren Java Basics - Anfänger-Themen 11
G Kleines Grundsatzproblem Java Basics - Anfänger-Themen 5
S Ich habe ein kleines Problem mit meinem Übungsprogramm Java Basics - Anfänger-Themen 7
S Hab ein kleines Problem :) Java Basics - Anfänger-Themen 4
K kleines bild ausgeben Java Basics - Anfänger-Themen 4
D noch ein kleines Problem Java Basics - Anfänger-Themen 4
M kleines generics problem Java Basics - Anfänger-Themen 15
B Kleines? Jedenfalls Problem mit Borland-Together! Java Basics - Anfänger-Themen 4
M kleines Java Programm (Verwaltung) Java Basics - Anfänger-Themen 16
K Kleines Programm zur Stapelverarbeitung schreiben, aber wie? Java Basics - Anfänger-Themen 7
D Kleines Problem mit JDBC Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben