ActionListener Klasse wechseln

Status
Nicht offen für weitere Antworten.

krackmoe

Bekanntes Mitglied
Hi
Folgender Code:

public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equalsIgnoreCase("Datensatz Einfügen")){
@SuppressWarnings("unused")
BookOrReader insert = new BookOrReader("Buch oder Leser");
setVisible(false);
}

Das ist glaub ich nicht die eleganteste Variante in die Klasse BookOrReader zu wechseln oder?

Nur mir fällt keine bessere ein :p
Gibt es da einen Befehl für den ActionListener damit man die Klasse wechseln kann?
In der Klasse BookOrReader befindet sich dann ein weiterer JFrame.. und von dem möcht ich dann auch per JButton wieder zurückwechseln können.
Nur dann müsst ich ja wieder ein Objekt von der Hauptklasse anlegen, was glaub ich nicht ganz sinnvoll ist.

Ideen bitte! :)
 

0x7F800000

Top Contributor
Würdest du bitte grob skizzieren, was du mit "Klasse wechseln" meinst? ???:L

Wenn es dir darum geht, irgendwelche fenster ein und auszublenden, dann schaue dir bitte JDialog und JOptionPane an.

@SuppressWarnings("unused") sieht extrem gruselig aus, dürfte ich dich mal fragen, welchen guten grund du hast, das in den code mit reinzunehmen? Nicht dass du den stolperstein dann später vergisst und drinlässt :autsch:
 

hdi

Top Contributor
Andrey, du bist aber nicht der Andrey von hier oder? Hast du nen neuen Acc?
 

krackmoe

Bekanntes Mitglied
Hab eine Klasse Startmenu und eine Klasse BookOrReader, beide haben JFrame...
Jetzt möcht ich mit einem JButton + ActionListener von einer Klasse in die andere wechseln können.
Also wenn ich den JButton anklicke, dass ich vom Startmenu in BookOrReader komme und umgekehrt.

Reicht dafür das JDialog bzw. JOptionPane aus?
 

krackmoe

Bekanntes Mitglied
Paste-It.net

So sieht mein Code derzeit aus.

In Zeile 38, würde ich gern springen.

Ist da das CardLayout wirklich das Richtige? Gibts nicht einfach, e.getPanel(BookOrReader) oder sowas in der Art!?
 

hdi

Top Contributor
Klar du kannst auch beim JFrame ein
[HIGHLIGHT="Java"]
frame.remove(startMenuPanel);
frame.add(bookOrReaderPanel);
pack();[/HIGHLIGHT]

machen. (Bzw. andersrum).
Ich weiss jetz nich ob CardLayout hier vllt etwas überladen für dein Problem
ist, aber so elegant ist der Code hier oben nicht wirklich.
 

krackmoe

Bekanntes Mitglied
Ich hab ja in der BookOrReader Klasse auch einiges an Zeug stehen.

Wie krieg ich denn das hin, dass er das Zeug dann auch ausführt in diesem Panel?
Dazu müsste ich doch erst in die Klasse rein, bzw. diese instanzieren!?
Ich mein.. wie greif ich auf das Panel von BookOrReader zu?
Dazu müsste ich es wahrscheinlich static machen!?
 

hdi

Top Contributor
Was meinst du jetzt mit "Zeug ausführen"?

Irgendwie kann ich mir grad nich genau vorstellen was du machen willst.
Poste doch mal den Code und beschreibe bitte, was genau du tun willst.
 

krackmoe

Bekanntes Mitglied
Startmenu: Paste-It.net
BookOrReader: Paste-It.net

In Startmenu Zeile 32 möchte ich dass mein JPanel geschlossen wird, und das von BookOrReader ausgeführt wird, mit alldem was in der Klasse BookOrReader drinnensteht.

In BookOrReader Zeile 35 möchte ich ebenfalls das das JPanel wieder geschlossen wird und ich wieder ins Startmenu zurückwechsle.
 

hdi

Top Contributor
Ich würde es einfach so machen, dass du im JFrame eine Methode hast:

[HIGHLIGHT="Java"]public void setMainContent(JPanel p){
this.remove(mainContent);
mainContent = p;
this.add(mainContent);
this.pack();
this.setLocationRelativeTo(null);
}[/HIGHLIGHT]

...wobei "mainContent" ein Attribut deines Frames ist, und zwar vom Typ JPanel.

Und deine zwei Panels machst du Singleton:

[HIGHLIGHT="Java"]public class MainMenu extends JPanel{

private static final MainMenu instance;

private JFrame parent;

private MainMenu(JFrame parent){
this.parent = parent;

// was auch immer das Panel so beinhalten soll
}

public static MainMenu getInstance(){
return instance;
}

public static void initialize(JFrame parent){
instance = new MainMenu(parent);
}
}[/HIGHLIGHT]

Das gleiche machst du mit deinem anderen Panel.

Beim Konstruktor von dem Frame rufst du dann bei beiden Panel-Klassen diese
initialize-Methode mit "this" auf.

So, und die Buttons zum Wechseln auf das andere Panel sehen dann so aus,
dass sie im ActionListener diese setMainContent() auf dem Frame aufrufen,
und das kennen sie ja, weil du es ihnen im Konstruktor mitgibst. zB

[HIGHLIGHT="Java"]// in der Klasse MainMenu
public void actionPerformed(ActionEvent e){
parent.setMainContent(BookOrReaderMenu.getInstance());
}
[/HIGHLIGHT]

Also... ich muss sagen vllt ist das auch nich so besonders geil gelöst...
Aber funktionieren tut es zumindest.

Ansonsten kannst du das ganze weniger "kompliziert" machen, und einfach eine
bidirektionale Beziehung aufbauen:
Jedes Panel kennt nicht nur das Frame sondern noch das andere Panel.

Ist aber noch schlimmer...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Interface ActionListener in eigener Klasse Java Basics - Anfänger-Themen 27
M Klassen Durch den ActionListener das GUI einer anderen Klasse verändern Java Basics - Anfänger-Themen 8
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E ActionListener in anderer Klasse erkennen Java Basics - Anfänger-Themen 13
P OOP Klasse in ActionListener-Klasse aufrufen? Java Basics - Anfänger-Themen 15
A Per ActionListener auf andere klasse zugreifen Java Basics - Anfänger-Themen 13
G Müssen ActionListener + sein Button in einer Klasse liegen? Java Basics - Anfänger-Themen 11
F ActionListener in anderer Klasse Java Basics - Anfänger-Themen 2
M extra ActionListener Klasse Java Basics - Anfänger-Themen 8
F ActionListener und Werteübergabe an andere Klasse Java Basics - Anfänger-Themen 3
T ActionListener in eigener Klasse Java Basics - Anfänger-Themen 10
T ActionListener in eigener Klasse Java Basics - Anfänger-Themen 5
L ActionListener in eigener Klasse Java Basics - Anfänger-Themen 3
C ActionListener in seperater Klasse Java Basics - Anfänger-Themen 4
E ActionListener Java Basics - Anfänger-Themen 4
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
J Array Actionlistener Java Basics - Anfänger-Themen 9
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
P Erste Schritte ActionListener Java Basics - Anfänger-Themen 2
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb ActionListener Java Basics - Anfänger-Themen 1
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
F ActionListener mit Files etc Java Basics - Anfänger-Themen 12
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
CptK Auf ActionListener von anderer Klass aus zugreifen Java Basics - Anfänger-Themen 5
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
U ActionListener mit JMenuItems verknüpfen Java Basics - Anfänger-Themen 1
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
L Problem bei Java-ActionListener Java Basics - Anfänger-Themen 4
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
D Einen Wert unter einen ActionListener weitergeben Java Basics - Anfänger-Themen 1
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
JavaNewbie2.0 ActionListener Java Basics - Anfänger-Themen 11
Voreck Actionlistener problem Java Basics - Anfänger-Themen 1
G Im ActionListener eine "äußere" Variable verändern Java Basics - Anfänger-Themen 13
T Fehler beim ActionListener Java Basics - Anfänger-Themen 2
M public static int in ActionListener Java Basics - Anfänger-Themen 6
S actionlistener timer Java Basics - Anfänger-Themen 9
P aus ActionListener auf HauptFrame zugreifen Java Basics - Anfänger-Themen 4
A Klassen Bool Actionlistener Java Basics - Anfänger-Themen 2
K Methoden ActionListener wird übersprungen Java Basics - Anfänger-Themen 3
S actionlistener Java Basics - Anfänger-Themen 29
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
J ActionListener Java Basics - Anfänger-Themen 5
A ActionListener Java Basics - Anfänger-Themen 9
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
Z ActionListener wird nicht erkannt? Java Basics - Anfänger-Themen 5
T ActionListener Source vergleichen Java Basics - Anfänger-Themen 8
T Frage zum ActionListener Java Basics - Anfänger-Themen 5
R ActionListener mit for Schleife füllen. Java Basics - Anfänger-Themen 4
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
I ActionListener reagiert nicht Java Basics - Anfänger-Themen 6
N Probleme mit ActionListener und Logischer Abfrage Java Basics - Anfänger-Themen 4
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S ActionListener, Methoden und Variablen Java Basics - Anfänger-Themen 4
X Variablen Actionlistener | Variablen-namen Java Basics - Anfänger-Themen 5
G ActionListener implementieren Java Basics - Anfänger-Themen 12
T Erste Schritte Berechnete Variable im ActionListener zurückführen Java Basics - Anfänger-Themen 6
D Panel sichtbar/unsichtbar machen im ActionListener Java Basics - Anfänger-Themen 3
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
M Button , actionlistener Java Basics - Anfänger-Themen 11
P Erste Schritte JTable mit Daten aus Acces DB füllen und Actionlistener einsetzen Java Basics - Anfänger-Themen 29
M Actionlistener Java Basics - Anfänger-Themen 9
D Problem mit ausgelagertem Actionlistener Java Basics - Anfänger-Themen 4
D KeyListener und ActionListener Problem Java Basics - Anfänger-Themen 6
T NullPointerException im ActionListener Java Basics - Anfänger-Themen 3
C Erste Schritte GUI - ActionListener - Exception Nullpointer Java Basics - Anfänger-Themen 5
E JMenu ActionListener reagiert nicht? Java Basics - Anfänger-Themen 6
V ActionListener in einer for-Schleife Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
M Variablen Variable lässt sich durch ActionListener nicht ändern Java Basics - Anfänger-Themen 5
P ActionListener Action Event Java Basics - Anfänger-Themen 5
L ActionListener zerschießt AnchorLayout Java Basics - Anfänger-Themen 8
D ActionListener braucht zwei Klicks auf Button??? Java Basics - Anfänger-Themen 2
M Methoden Timer in ActionListener aufrufen Java Basics - Anfänger-Themen 2
Y Actionlistener passt nicht zu Dataset Java Basics - Anfänger-Themen 6
W Problem mit FileWriter / ActionListener Java Basics - Anfänger-Themen 6
F actionListener Java Basics - Anfänger-Themen 3
T ActionListener auslagern Java Basics - Anfänger-Themen 14
S Actionlistener funktionieren nicht in der .jar Java Basics - Anfänger-Themen 9
E ActionListener abwarten lassen? Java Basics - Anfänger-Themen 11
H ActionListener Verbesserung möglich? (This) Java Basics - Anfänger-Themen 3
E ActionListener erkennt instanz nicht Java Basics - Anfänger-Themen 9
V ActionListener bei vielen Modulen Java Basics - Anfänger-Themen 3
J ActionListener Java Basics - Anfänger-Themen 2
T JLabel durch ActionListener ändern Java Basics - Anfänger-Themen 4
S ActionListener Java Basics - Anfänger-Themen 4
U actionListener - eine Kleine Frage Java Basics - Anfänger-Themen 7
K Actionlistener Java Basics - Anfänger-Themen 7
M ActionListener außerhalb des EDT ausführen Java Basics - Anfänger-Themen 2
A ActionListener im JMenu - Problem Java Basics - Anfänger-Themen 2
M ActionListener reagiert nicht Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben