Swing Vokabeltrainer zeigt in einfacher Ausführung nichts an

Alex2013

Bekanntes Mitglied
Hallo Leute,

ich habe heute einmal angefangen zu versuchen einen Vokabeltrainer zu schreiben.
Dabei habe ich auf mehrere Klassen in einer gesetzt...
Ich habe in einer oberen Klasse, welche die Hauptklasse darstellt erst einmal die innere Struktur erstellt
und in einer unteren Klasse die grafischen Elemente erstellt.
Diese untere Klasse, welche die Grafikelemente beinhaltet ist jedoch innerhalb der Hauptklasse eingeschlossen. Also der oberen Klasse.
Ich rufe also in der main in der oberen Klasse, den Konstruktor der Grafikklasse auf welcher in einer anderen Klasse, aber innerhalb der Hauptklasse steht.
Hat einer von euch eine Idee weshalb das Programm nicht starten möchte?
Sollte ich evtl. die untere Klasse komplett in eine neue Klasse schreiben? (neue Klasse erstellen)
Oder hat jemand einen anderen Tipp?
Ich möchte das Programm erst einmal recht einfach halten bis es funktioniert und anschließend weiter ausbauen...

Falls ihr den Code sehen möchtet:

Java:
[code]
import java.awt.Container;
import java.awt.GridLayout;
import java.util.Random;

import javax.print.attribute.standard.DateTimeAtCreation;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;


public class Vokabeltrainer1 
{
	Vokabel vok[]=new Vokabel[3];
	Vokabel aktuelleVok;
	Random rd=new Random();
	
	class Vokabel
	{	//Die Variablen werden deklariert
		String deutschesWort;
		String englischesWort;
		int zahlKorrekterAbfragen;
		int zahlFalscherAbfragen;
		DateTimeAtCreation letzteAbfrage;
		
		//Konstruktor
		public Vokabel(String deutschesWort, String englischesWort)
		{
			this.deutschesWort=deutschesWort;
			this.englischesWort=englischesWort;
		}
	}
	
	public Vokabeltrainer1()
	{	//Dem Konstruktor Vokabeltrainer welcher eine Ebene höher liegt übergebe ich die erstellten Vokabeln + die aktuelle Vokabel die angezeigt werden soll
		vok[0]=new Vokabel("Familie","family");
		vok[1]=new Vokabel("Bruder","brother");
		vok[2]=new Vokabel("Schwester","sister");
		
		aktuelleVok=vok[0];
		//Vokabeltrainer_bedienen.this.abfrage.setText(""+aktuelleVok);
	}
	
	public static void main(String [] args)
	{
		new Vokabeltrainer_bedienen();
		//Vokabeltrainer_bedienen.this.abfrage.setText(""+Vokabel.class.getEnclosingMethod(aktuelleVok));
	}
	
	class Vokabeltrainer_bedienen extends JFrame
	{	//in der oberen Klasse welche diese miteinschließt habe ich sozusagen die inneren Strukturen festgelegt
		//in dieser Klasse baue ich nur das Grafikgerüst auf um dann anschließend in der main der oberen Klasse den Konstruktor der unteren Grafik-
		//klasse aufzurufen. es ist etwas durcheinander, aber die Hauptklasse ist die public Vokabeltrainer1, welche nur eben im KOnstruktor nicht aufgerufen wird
		//Hat jemand von euch einen Vorschlag zur Verbesserung?
		JLabel abfrage;
		JButton pruefe;
		JTextField eingabe;
		Container c;
		private static final long serialVersionUID = 1L;
		
		public Vokabeltrainer_bedienen()
		{
			c=getContentPane();
			setTitle("Vokabeltrainer");
			setLayout(new GridLayout(3,1));
			setSize(300,400);
			setLocation(200,200);
			abfrage=new JLabel("---");
			c.add(abfrage);
			eingabe=new JTextField(10);
			c.add(eingabe);
			pruefe=new JButton("pruefen!");
			c.add(pruefe);
			setVisible(true);
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		}
		
		
		
	}
}
[/code]

Hat jemand einen Vorschlag? Sollte ich alles auslagern? oder bedarf es vlt. auch nur einer kleinen Änderung?

Für Tipps wäre ich dankbar.

Lg
 

Gucky

Top Contributor
Auslagerung wäre schon mal eine Option. Klassen werden in der Regel ausgelagert.Vielleicht klappt es dann schon.

Was wird denn angezeigt? Welche Fehlermeldung bekommst du?
 

Alex2013

Bekanntes Mitglied
Also je nachdem:

Ich habe die main gerade einmal in die untere Grafikklasse verschoben um dort in Kunstruktor aufzurufen, dann meldet mir Eclipse folgenden Fehler: Fehler: Hauptmethode in Klasse Vokabeltrainer1 nicht gefunden. Definieren Sie die Hauptmethode als:
public static void main(String[] args)


Wenn ich main in der oberen Hauptklasse belasse, welche ja auch die untere Grafikklasse innehat, dann meldet mir Eclipse bei Aufruf des Konstruktors: new Vokabeltrainer_bedienen();
diesen Fehler:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
No enclosing instance of type Vokabeltrainer1 is accessible. Must qualify the allocation with an enclosing instance of type Vokabeltrainer1 (e.g. x.new A() where x is an instance of Vokabeltrainer1).

at Vokabeltrainer1.main(Vokabeltrainer1.java:48)

und wenn ich den Konstruktor new Vokabeltrainer1(); aufrufe, dann meldet mir Eclipse keinen Fehler mehr. Ich schätze das liegt, daran, dass oben alles sauber erstellt wird und er nur Probleme mit der unteren Grafikklasse hat...




jetzt gar keinen Fehler mehr...
 

Gucky

Top Contributor
Du hast mehrere Klassen ineinander verschachtelt. Die main-Methode muss immer die äußerste Klasse aufrufen, weil es ohne sie die inneren Klassen nicht geben kann.
 

Alex2013

Bekanntes Mitglied
Ich frage mich, wieso ich da nicht eher drauf gekommen bin, sondern gefragt habe...
Aber naja, wenn man mal nicht weiß woran es liegt, fragt man halt mal nach...
Ich habe jetzt den Konstruktoraufruf in den Konstruktor der Huaptklasse gepackt und anschließend kompiliert und siehe da, ich sehe etwas... ;-)
jetzt muss ich nur noch die Funktionen erstellen und zuweisen und dann mal weiter sehen.

Danke schon mal bis hierhin :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaBeginner22 VokabelTrainer AWT, Swing, JavaFX & SWT 10
A Gui für Vokabeltrainer (ActionListener) AWT, Swing, JavaFX & SWT 14
G JOptionPane zeigt nicht an was ich will AWT, Swing, JavaFX & SWT 2
S JavaFX WebView zeigt bestimmte Websites nicht an AWT, Swing, JavaFX & SWT 2
N imageIcon zeigt kein Bild an AWT, Swing, JavaFX & SWT 5
S JavaFX WebView zeigt keine Animation AWT, Swing, JavaFX & SWT 5
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
karlmasutra JavaFX ListView zeigt Einträge nicht an AWT, Swing, JavaFX & SWT 11
L JPanel zeigt keinen Inhalt AWT, Swing, JavaFX & SWT 1
C FileChooser Save-Dialog zeigt Files nicht an AWT, Swing, JavaFX & SWT 3
F JFrame zeigt nicht alle Elemente auf anhieb an AWT, Swing, JavaFX & SWT 4
F JList zeigt keine Einträge mehr AWT, Swing, JavaFX & SWT 1
C Swing JList zeigt keine neuen Einträge an AWT, Swing, JavaFX & SWT 1
A Swing JPanel zeigt Buttons nicht an AWT, Swing, JavaFX & SWT 4
N GUI zeigt alles klein an. AWT, Swing, JavaFX & SWT 7
Tausendsassa Frame öffnet aber zeigt keinen Inhalt... AWT, Swing, JavaFX & SWT 10
L Ausgabe in JEditorPane mittels HTMLEditorKit zeigt auf bestimmten Systemen falsche Zeichen AWT, Swing, JavaFX & SWT 1
T SWT Mysql Tabelle zeigt immer nur den ersten Wert immer wieder an AWT, Swing, JavaFX & SWT 3
K JavaFX TableViewer zeigt nichts an !! AWT, Swing, JavaFX & SWT 1
E Tabelle zeigt nicht neuste Datenbankeinträge an AWT, Swing, JavaFX & SWT 5
U Label zeigt nicht überall HTML Zeichen AWT, Swing, JavaFX & SWT 3
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
H RCP(SWT) Browser-Widget zeigt keine locale HTML-Dateien an AWT, Swing, JavaFX & SWT 1
W Swing Ausführung einer .jar zeigt keine Reaktion AWT, Swing, JavaFX & SWT 4
S JLabel zeigt ImageIcon nicht AWT, Swing, JavaFX & SWT 13
K JDialog zeigt Components nicht an AWT, Swing, JavaFX & SWT 3
P Swing Dialog zeigt keinen Inhalt in Verbindung mit JFrame AWT, Swing, JavaFX & SWT 18
O JTable zeigt die alte Daten wieder AWT, Swing, JavaFX & SWT 23
H JTable zeigt keine Daten an AWT, Swing, JavaFX & SWT 5
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
A Swing JFilechooser zeigt verzeichnisse nicht an AWT, Swing, JavaFX & SWT 2
F GroupableTableHeader zeigt nur eine Zeile AWT, Swing, JavaFX & SWT 4
B JList zeigt Elemente nicht an AWT, Swing, JavaFX & SWT 3
R Textarea zeigt Text nicht an AWT, Swing, JavaFX & SWT 5
0 JFrame zeigt Inhalt erst nach vergrößern an AWT, Swing, JavaFX & SWT 3
H TextArea zeigt kein Text an AWT, Swing, JavaFX & SWT 6
NR_EIGHT Swing JButton zeigt Icons nicht an AWT, Swing, JavaFX & SWT 3
A Swing JScrollPane zeigt keinerlei Inhalt an AWT, Swing, JavaFX & SWT 2
3 Applet Applet zeigt nur weiße Fläche AWT, Swing, JavaFX & SWT 15
C Swing JTable zeigt in jeder Zelle einer Reihe denselben Inhalt AWT, Swing, JavaFX & SWT 2
C Swing JTextPane zeigt HTML-Text aus Variable nicht an :( AWT, Swing, JavaFX & SWT 3
H JList zeigt die Daten aus dem Array nicht an! AWT, Swing, JavaFX & SWT 13
E Swing JComboBox als CellEditor in JTable zeigt Elemente nicht sofort an AWT, Swing, JavaFX & SWT 5
F Applet zeigt Bilder nicht an AWT, Swing, JavaFX & SWT 5
J Swing JPanel mit Hintergrund zeigt componente nicht AWT, Swing, JavaFX & SWT 6
B JScrollbarPane zeigt keine scrollbars AWT, Swing, JavaFX & SWT 2
U JComboBox zeigt den Aufklapppfeil nicht mehr an AWT, Swing, JavaFX & SWT 7
hdi Swing setPreferredSize zeigt keine Änderung AWT, Swing, JavaFX & SWT 2
L Swing JDialog zeigt keinen Inhalt an AWT, Swing, JavaFX & SWT 5
C JTextArea zeigt keine Scrollbalken AWT, Swing, JavaFX & SWT 18
K JDialog zeigt keine Komponenten wenn es modal ist AWT, Swing, JavaFX & SWT 2
D JScrollPane zeigt keinen Inhalt AWT, Swing, JavaFX & SWT 2
S Seltsam: SWT Table zeigt keine Scrollbar an AWT, Swing, JavaFX & SWT 12
G JTable zeigt keine Spaltenheader AWT, Swing, JavaFX & SWT 7
G Textarea zeigt Text erst am Schluss an AWT, Swing, JavaFX & SWT 2
F JScrollPane mit JPanel drinne zeigt keine Scroll-Leisten AWT, Swing, JavaFX & SWT 7
S JComboBox zeigt beim 1. öffnen nur 2 Elemente ? AWT, Swing, JavaFX & SWT 9
G flow layout zeigt die komponenten nicht richtig an AWT, Swing, JavaFX & SWT 5
C Jar Datei ist ausführbar aber zeigt keine icon's an AWT, Swing, JavaFX & SWT 18
N JTable zeigt ColumnHeaders nicht an AWT, Swing, JavaFX & SWT 2
B JFrame nach Start leer, größer ziehen zeigt Inhalt an AWT, Swing, JavaFX & SWT 2
M JList zeigt nicht alle Elemente AWT, Swing, JavaFX & SWT 4
J JEditorPane zeigt nicht alles AWT, Swing, JavaFX & SWT 2
I JFileChooser: Zeigt keine Eingabefeld AWT, Swing, JavaFX & SWT 2
M JTable zeigt keine Scrollbars bei JScrollpaneeinbettung AWT, Swing, JavaFX & SWT 2
R Swing zeigt JButton und JTextfield nicht an? AWT, Swing, JavaFX & SWT 2
M JTable zeigt daten nicht aktuell an AWT, Swing, JavaFX & SWT 4
S ScrollPane zeigt scrollbalken nicht an AWT, Swing, JavaFX & SWT 12
Icewind Jlist zeigt neue elemente im model nicht sofort an AWT, Swing, JavaFX & SWT 3
Icewind JTable zeigt neue elemente im model nicht sofort an AWT, Swing, JavaFX & SWT 3
P JTextPane ALIGN_JUSTIFIED zeigt den Text zentriert an? AWT, Swing, JavaFX & SWT 8
J Tabelle zeigt kein Header AWT, Swing, JavaFX & SWT 5
D JTable zeigt Titel nicht an AWT, Swing, JavaFX & SWT 2
M JTabbedPane zeigt alle Panels übereinander an :( AWT, Swing, JavaFX & SWT 8
S TextArea zeigt String nicht richtig an AWT, Swing, JavaFX & SWT 4
M JScrollPane zeigt einfach keinen ScrollBar AWT, Swing, JavaFX & SWT 2
N JavaFX Einfacher Taschenrechner mit Scene Builder und Java FX AWT, Swing, JavaFX & SWT 0
EinNickname9 Einfacher parser funktioniert nicht AWT, Swing, JavaFX & SWT 2
J Progressbar mit einfacher Funktion AWT, Swing, JavaFX & SWT 6
2 Einfacher Baum visualisieren. AWT, Swing, JavaFX & SWT 11
R einfacher mp3 player AWT, Swing, JavaFX & SWT 18
N einfacher ActionListener und NullPointer AWT, Swing, JavaFX & SWT 2
V ButtonGroup einfacher überwachen? AWT, Swing, JavaFX & SWT 7
H einfacher TextEditor AWT, Swing, JavaFX & SWT 4
S Einfacher Klick aber mouseClicked() zweimal aufgerufen AWT, Swing, JavaFX & SWT 3
C einfacher Texteditor in Java AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben