Swing Frames richtig erstellen

Asdf11

Mitglied
Hallo,

ich habe ein Problem mein Frame will iwie nicht aufgehen und ich weiß nicht wieso, was mich gleich zur Frage bringt wie genau soll ich meine GUI erstellen?

Meine Idee:

3 Klassen: Main / Frame / ActionListener

Implementiert:
Main:
Java:
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Frame frameObj = new Frame();
		frameObj.frameController();
	}

}
Frame:
Java:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Frame {

	JButton button1;
	JFrame mainFrame;

	public void frameController() {
		Frame frameObject = new Frame();
		frameObject.mainFrame();

	}

	public void mainFrame() {
		JFrame mainFrame = new JFrame("Hauptfenster");
		JPanel mainPanel = new JPanel();
		JButton button1 = new JButton();
		
		button1.setText("Klick mich");

		
		
		mainPanel.add(button1);
		mainFrame.add(mainPanel);
		
		mainFrame.setSize(200, 200);
		mainFrame.setVisible(true);
		mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	}
}
Action:
Java:
//kommt noch

Also bisher nichts spektakuläres. Die Idee: Main macht ein Objekt von Frame auf. In fFrame erstelle ich mein Frame usw. Und in Action Klasse baue ich dann erstmal einen einfachen Listener auf meine Buttons. Ich würde es gerne irgendwie schön voneinander trennen. Im Internet habe ich nur Beispiele gefunden wo alles zusammen in eienr Klasse und halb im Konstruktor verwurschtelt war, was mir nicht gefällt. Allerdings merke ich jetzt schon, dass nicht mal mein Frame aufgeht, und es wohl so auch Probleme mit den Objekten und den ActionListener gebenw ird, weil dass so alles nicht ganz einfahc ist.

Meine erste Frage wäre: Bitte nur eine Kurzhilfe, wieso geht mein Frame so wie es jetzt implementiert ist nicht auf, dh. hier Programm kompiliert aber es passiert nichts...(Liegt es an den Objekten iwie?)

Und die zweite Frage ist, wie sieht ein allgemeines Konzept aus, da ich wissen will wie ein richtiges Konzept dafür aussieht.

Für Antworten und Anregungen aller Art bin ich sehr dankbar.

Gruß :)
 

Joose

Top Contributor
Java:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Frame {
	JButton button1;
	JFrame mainFrame;

	public void frameController() {
		Frame frameObject = new Frame();
		frameObject.mainFrame();
	}

	public void mainFrame() {
		JFrame mainFrame = new JFrame("Hauptfenster");
		JPanel mainPanel = new JPanel();
		JButton button1 = new JButton();
		button1.setText("Klick mich");
		mainPanel.add(button1);
		mainFrame.add(mainPanel);
		mainFrame.setSize(200, 200);
		mainFrame.setVisible(true);
		mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}
Für Antworten und Anregungen aller Art bin ich sehr dankbar.

Du hast einen Denkfehler:
In der main-Methode erstellst du ein Objekt vom Type
Code:
Frame
(abgesehen davon finde ich den Namen, schlecht gewählt).
Von diesem Objekt rufst du die Methode
Code:
frameController
auf. In dieser Methode erstellst du wieder ein Objekt vom Type
Code:
Frame
. Sprich du hast du nun 2 Objekte vom Type
Code:
Frame
.

Warum rufst du nicht gleich in der main-Methode die Methode
Code:
mainFrame
vom Objekte auf?

Weiterer Denkfehler:
In der Klasse
Code:
Frame
hast du eine Instanzvariable
Code:
mainFrame
vom Type
Code:
JFrame
deklariert.
In der Methode
Code:
mainFrame
erstellst du eine lokale Variable vom Type
Code:
JFrame
mit welcher du arbeitest. Wozu dient denn nun die Instanzvariable, welche nicht initalisiert wird? (analog das selbe mit dem JButton)

Also generell: die Initialisierung von JFrame im Konstruktor finde ich auch nicht schön, aber ich verwende stattdessen einfach eine Methode
Code:
initialize
. Wozu du die Methode
Code:
frameController
brauchst erschließt sich mir nicht.
Und der Name der Methode
Code:
mainFrame
ist auch schlecht gewählt, da ich daran nicht erkenne was diese Methode macht.

Anhand des Codes sollte eig ein Fenster aufgehen, schon mal Konsolenausgaben eingefügt, bzw. den Debugger angeworfen und geschaut ob der Code ausgeführt wird usw.?
 
Zuletzt bearbeitet:

Asdf11

Mitglied
Oke vielen Dank habe die Anregungen umgesetzt und es klappt so wie ich es mir vorgestellt habe.

Ich habe allerdings eine Frage zum Action Listener.
Wenn ich jetzt eine Variable damit beschreibe, dann möchte ich mit dieser ja auch etwas, außerhalb von der Methode anfangen, wie löse ich das?

Also als beispiel :

Java:
public void actionPerformed(ActionEvent e) {
		if (e.getSource() == this.button1) {
			sum = sum + 1;}

Also ich habe hier im Action Listener beispielsweise gezählt wie oft ich einen Button geklickt habe, jetzt möchte ich mit der Zahl in einer anderen Methode weiterarbeiten. Ich steh hier grad ziemlich aufm Schlauch. Ich kann ja nicht jedes Mal eine Methode aufrufen. Bestenfalls wäre es, wenn ich eine globale anlegen kann die dann den wert speichert...
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Du schreibst einen eigenen Listener dem du im Konstruktor deine gewünschten parameter übergibst, wie z.B , allerdings sollte sowas gekapselt innerhalb einer Methode der klasse selbst stattfinden.

Sprich nur die klasse selbst sollte ihre Attribute ändern können, demnach könntest du eine Referenz (bzw. eine Kopie) auf ein Objekt deiner klasse im Konstruktor des Listeners als parameter übergeben.

Wenn du ein Beispiel brauchst , lass es mich wissen.;)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Mehrere Frames - hab ich das richtig verstanden AWT, Swing, JavaFX & SWT 4
temi JavaFX "Frames" in JavaFx - passende Komponente? AWT, Swing, JavaFX & SWT 13
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
M Internal Frames und Canvas-Element AWT, Swing, JavaFX & SWT 9
H Kombination von zwei Frames AWT, Swing, JavaFX & SWT 16
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
M LayoutManager Im Haupframe veränderbare Frames AWT, Swing, JavaFX & SWT 4
R TriangleMesh verschwindet teilweise beim resizen des Frames, sowie beim rotieren? AWT, Swing, JavaFX & SWT 1
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
OnDemand Inhalt des Frames ändern AWT, Swing, JavaFX & SWT 4
V Ende eines Frames abwarten AWT, Swing, JavaFX & SWT 7
R Komponenten werden erst nach maximierung des Frames sichtbar (Linux) AWT, Swing, JavaFX & SWT 5
C 2 Frames, eins nicht editierbar AWT, Swing, JavaFX & SWT 2
P 2D-Grafik Gezielter Repaint einzelner Frames in Java-Game AWT, Swing, JavaFX & SWT 6
M Anzahl Frames in Taskleiste AWT, Swing, JavaFX & SWT 2
R Swing Wie kann man Internal Frames automatisch ausrichten lassen? AWT, Swing, JavaFX & SWT 3
J Swing neuer Aufbau des Frames nach Click AWT, Swing, JavaFX & SWT 8
F Swing Ladebildschirm zwischen zwei SWING Frames AWT, Swing, JavaFX & SWT 11
Jackii 2 Frames nacheinander aufrufen AWT, Swing, JavaFX & SWT 6
K Hintergrundfarbe des Frames ändern AWT, Swing, JavaFX & SWT 4
F Canvas Objekt außerhalb des Frames zeichnen AWT, Swing, JavaFX & SWT 3
S GUI mit website-like Frames AWT, Swing, JavaFX & SWT 9
K Tranzparenz von Frames -> IllegalAccessError AWT, Swing, JavaFX & SWT 4
H Swing Wechsel zwischen Frames AWT, Swing, JavaFX & SWT 6
B Problem bei der Aktualisierung des Frames AWT, Swing, JavaFX & SWT 6
A Grösse des Frames stimmt nicht von Anfang an AWT, Swing, JavaFX & SWT 6
Crashbreaker SWT Frames wie bei Eclipse AWT, Swing, JavaFX & SWT 43
G Components erscheinen erst bei Änderung des Frames AWT, Swing, JavaFX & SWT 3
C LayoutManager Layout und vergrößern des Frames AWT, Swing, JavaFX & SWT 5
F Variablen zwischen Frames AWT, Swing, JavaFX & SWT 5
N Mehrere Frames AWT, Swing, JavaFX & SWT 2
M Swing Rahmengröße des Frames/Dialogs AWT, Swing, JavaFX & SWT 3
H Mit for-schleife die Componenten eines Frames verändern AWT, Swing, JavaFX & SWT 5
A Einschreiten vor anzeige eines Frames AWT, Swing, JavaFX & SWT 26
E 2 Frames - eine Änderung AWT, Swing, JavaFX & SWT 4
S Panel austauschen, ohne Größenänderung des Frames AWT, Swing, JavaFX & SWT 5
R Swing alle Frames nutzen das gleiche Model AWT, Swing, JavaFX & SWT 2
S Frames schließen AWT, Swing, JavaFX & SWT 6
E Eine Seite eines Frames variabel anpassen lassen? AWT, Swing, JavaFX & SWT 10
P ScrollPane klappt zusammen beim verkleinern des Frames AWT, Swing, JavaFX & SWT 2
A Oberfläche wir mit html-Frames aufbauen AWT, Swing, JavaFX & SWT 11
D Frames positionieren (java.awt.Frame) AWT, Swing, JavaFX & SWT 3
G Bessere Aktualisierung eines Frames AWT, Swing, JavaFX & SWT 5
D 2 verschiedene Frames mit einem Button schliessen AWT, Swing, JavaFX & SWT 2
A Eins von zwei offnen Fenster/Frames schließen AWT, Swing, JavaFX & SWT 2
R Frames mittig AWT, Swing, JavaFX & SWT 6
H Frames oder Panels für mehrere Ansichten? AWT, Swing, JavaFX & SWT 4
P User-Rechte fuer Frames ueberpruefen und deren Schliessung AWT, Swing, JavaFX & SWT 4
G Frames vorladen lassen AWT, Swing, JavaFX & SWT 8
conan2 Nicht-rechteckige Frames AWT, Swing, JavaFX & SWT 7
F gibt etwas wie frames in html auch in java? AWT, Swing, JavaFX & SWT 19
W Vollbild Frames neu schreiben AWT, Swing, JavaFX & SWT 2
B Weitere Frames in der Mitte des HauptFrames anzeigen lassen AWT, Swing, JavaFX & SWT 2
N Unterschiedliche LookAndFeels bei zwei Frames? AWT, Swing, JavaFX & SWT 4
C Seiteneffekte beim Ändern der Größe des Frames AWT, Swing, JavaFX & SWT 8
G Swing-Frames und Statusleiste AWT, Swing, JavaFX & SWT 5
C JToolBar nicht minimieren beim Minimieren des Eltern-Frames AWT, Swing, JavaFX & SWT 4
X Refresh eines Frames AWT, Swing, JavaFX & SWT 1
M Rechner/JVM hängt ab ca. 247 Frames AWT, Swing, JavaFX & SWT 8
M Parameterübergabe zwischen Frames AWT, Swing, JavaFX & SWT 2
G Verknüpfung von Frames über Buttons AWT, Swing, JavaFX & SWT 4
D Methodenaufruf bei schließen des Frames AWT, Swing, JavaFX & SWT 4
G Lage von Internal Frames AWT, Swing, JavaFX & SWT 5
M ActionListener-Zugriff durch mehrere Frames AWT, Swing, JavaFX & SWT 5
G Frames sperren AWT, Swing, JavaFX & SWT 9
Wildcard Internal Frames und JDialog AWT, Swing, JavaFX & SWT 4
A Layoutproblem beim Vergrößern eines Frames AWT, Swing, JavaFX & SWT 9
R Autoresize eines Panel nach resize des Frames? AWT, Swing, JavaFX & SWT 3
K frames on top und frage zu JOptionPane AWT, Swing, JavaFX & SWT 2
G Dialog "übermalt" Teile des Frames AWT, Swing, JavaFX & SWT 20
G Mindestgröße eines Frames AWT, Swing, JavaFX & SWT 14
S Farbe des Frames ändern AWT, Swing, JavaFX & SWT 2
Juelin if Abfrage funktioniert nicht richtig AWT, Swing, JavaFX & SWT 10
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
G Button auswerten und ausgeben ob richtig oder falsch AWT, Swing, JavaFX & SWT 1
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
MouseEvent richtig initialisieren AWT, Swing, JavaFX & SWT 1
T ScrollEvent richtig(er) abfangen? AWT, Swing, JavaFX & SWT 0
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
princess_sara1997 .jar Datei führt den Code nicht richtig aus AWT, Swing, JavaFX & SWT 19
M JavaFX kann man da noch was am code vereinfachen design technisch sieht nicht richtig aus... AWT, Swing, JavaFX & SWT 15
S Swing Coding richtig einfügen AWT, Swing, JavaFX & SWT 3
F Swing Adapt Row Height funktioniert nicht richtig :( AWT, Swing, JavaFX & SWT 7
W JavaFX Ich kann keinen Kreis richtig zeichnen AWT, Swing, JavaFX & SWT 8
C Polygon Koordinaten richtig sortieren AWT, Swing, JavaFX & SWT 7
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
coolian ActionListener funktonirt nicht richtig auf JMenuItem AWT, Swing, JavaFX & SWT 4
J Parallele Aktionen in Java FX richtig durchführen. AWT, Swing, JavaFX & SWT 5
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
Joker4632 JavaFX GridPane richtig implementieren AWT, Swing, JavaFX & SWT 7
K Swing GUI aktualisiert nicht richtig AWT, Swing, JavaFX & SWT 5
X JavaFX AreaChart area höhe wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 2
A Swing Zeichnung wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 4
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
D Swing Warum erhalte ich keine Ausgabe? Funktioniert der equals-vergleich in actionPeformed nicht richtig? AWT, Swing, JavaFX & SWT 3
V JFrame wird nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 2
H UpdatePolicy wird nicht richtig gesetzt / funktioniert nicht AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben