Frames Verbinden

Hallo!
Ich bin gerade leicht am Verzweifeln, ich habe Frames erstellt und möchte die über ein Buttonklick miteinander verbinden. Nun ich weiß, dass das mit einem ActionListener gehen sollte.

Jedoch habe ich keine Ahnung wo ich das genau einfügen soll. Bzw ich hab jetzt etwas gemacht, aber kann das nicht korrigieren, da ich gerade den Black-Outs meines Lebens habe.;(;(

Ich hoffe ihr könnt mir helfeeeeeeen. Es ist nur ein Satz was ich da reinschreiben muss damit das Projekt endlich fertig wird.:rtfm::rtfm:

Danke schon mal, ich hoffe ich bekomm es heute Abend noch hin, damit ich genüsslich schlafen kann. :bae:

Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JEditorPane;
import javax.swing.JTextArea;
import javax.swing.JComboBox;
import javax.swing.JTextPane;
import javax.swing.JSeparator;
import javax.swing.JFormattedTextField;
import javax.swing.JMenu;

import java.awt.Panel;
import java.awt.TextField;

import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JLabel;

import com.jgoodies.forms.factories.DefaultComponentFactory;

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


public class Login extends JFrame {

	private JPanel contentPane;
	private JPasswordField passwordField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Login frame = new Login();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
public class actionListener implements ActionListener {
	
	public void actionPerformed(ActionEvent e) {
		
	}
	
	
}
	/**
	 * Create the frame.
	 */
	public Login() {
		setBackground(new Color(255, 0, 0));
		setTitle("Willkommen zu iLoveMusic");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 392, 191);
		
		contentPane = new JPanel();
		contentPane.setToolTipText("");
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JButton btnNewButton = new JButton("Login");
		btnNewButton.setBounds(5, 124, 371, 28);
		contentPane.add(btnNewButton);
		btnNewButton.setVisible(true);
		
		JButton btnAbbrechen = new JButton("Registration ");
		btnAbbrechen.setBounds(5, 102, 371, 23);
		contentPane.add(btnAbbrechen);
		btnAbbrechen.setVisible(true);
		
		addButtonListener(btnAbbrechen);
		addButtonListener(btnNewButton);
		

		passwordField = new JPasswordField();
		passwordField.setBounds(229, 71, 137, 20);
		contentPane.add(passwordField);
		
		JEditorPane editorPane = new JEditorPane();
		editorPane.setBounds(229, 26, 137, 23);
		contentPane.add(editorPane);
		
		JLabel lblUsername = DefaultComponentFactory.getInstance().createTitle("Username");
		lblUsername.setBounds(31, 26, 88, 14);
		contentPane.add(lblUsername);
		
		JLabel lblPassword = DefaultComponentFactory.getInstance().createTitle("Password");
		lblPassword.setBounds(31, 71, 88, 17);
		contentPane.add(lblPassword);
		
	}

ich weiß, dass das hin musst, irgendwo
Java:
 private void addButtonListener(JButton b){
		  b.addActionListener(new ActionListener(){
 

Libentis

Aktives Mitglied
Hallo Silversteinchen,
ich persönlich bin ein Java-Anfänger, vermutlich wird meine Lösung also nicht die Beste sein.
Anstatt wie du es jetzt in Zeile 85/86 hast:

Java:
addButtonListener(btnAbbrechen);
addButtonListener(btnNewButton);

Hab ich es mit Folgendem versucht:

Java:
btnNewButton.addActionListener(new java.awt.event.ActionListener() 
		 {
	            public void actionPerformed(java.awt.event.ActionEvent e) 
	            {
	            	System.out.println("hi");     // <---- Hier kommt dann dein Quelltext hin
	            }
	      });

Habs gerade hier ausprobiert und bei mir funktioniert es


MfG
Libentis
 
Hej Danke dir!
Naja ich möchte Die Frames miteinander verbinden, hast du da auch eine Idee?
Also wenn ich den Button Login klicke dass er mir ein neues Fenster öffnet?

Ich hab das gerade ausprobiert, klappen tut es nicht bei mir :((

Also ich will dieses Fenster
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JEditorPane;
import javax.swing.JTextArea;
import javax.swing.JComboBox;
import javax.swing.JTextPane;
import javax.swing.JSeparator;
import javax.swing.JFormattedTextField;
import javax.swing.JMenu;

import java.awt.Panel;
import java.awt.TextField;

import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JLabel;

import com.jgoodies.forms.factories.DefaultComponentFactory;

import java.awt.Color;



public class Login extends JFrame {

	private JPanel contentPane;
	private JPasswordField passwordField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Login frame = new Login();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	

	/**
	 * Create the frame.
	 */
	public Login() {
		setBackground(new Color(255, 0, 0));
		setTitle("Willkommen zu iLoveMusic");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 392, 191);
		
		contentPane = new JPanel();
		contentPane.setToolTipText("");
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
	
	             
		JButton btnNewButton = new JButton("Login");
		btnNewButton.setBounds(5, 124, 371, 28);
		contentPane.add(btnNewButton);
		
		JButton btnAbbrechen = new JButton("Registration ");
		btnAbbrechen.setBounds(5, 102, 371, 23);
		contentPane.add(btnAbbrechen);
		 
		
		
	       
	    passwordField = new JPasswordField();
		passwordField.setBounds(229, 71, 137, 20);
		contentPane.add(passwordField);
		
		JEditorPane editorPane = new JEditorPane();
		editorPane.setBounds(229, 26, 137, 23);
		contentPane.add(editorPane);
		
		JLabel lblUsername = DefaultComponentFactory.getInstance().createTitle("Username");
		lblUsername.setBounds(31, 26, 88, 14);
		contentPane.add(lblUsername);
		
		JLabel lblPassword = DefaultComponentFactory.getInstance().createTitle("Password");
		lblPassword.setBounds(31, 71, 88, 17);
		contentPane.add(lblPassword);
		
	}
		 
	
}


Mit diesem Fenster verbinden, Also wenn ich Login klicke , soll dann dieses Fenster erscheinen:
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JLabel;

import com.jgoodies.forms.factories.DefaultComponentFactory;


public class Menu extends JFrame {

	private JPanel contentPane;

	/**
	 * Launch the application.
	 */
	public static void run(){
		new Login().setVisible(false);
		new Menu().setVisible(true);
	}
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Menu frame = new Menu();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Menu() {
		setTitle("iLoveMusic");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 428, 179);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JButton btnLogout = new JButton("Logout");
		btnLogout.setBounds(10, 110, 89, 23);
		contentPane.add(btnLogout);
		
		JButton btnGuthabenAufladen = new JButton("Guthaben aufladen");
		btnGuthabenAufladen.setBounds(129, 110, 125, 23);
		contentPane.add(btnGuthabenAufladen);
		
		JButton btnMusikAussuchen = new JButton("Musik aussuchen");
		btnMusikAussuchen.setBounds(290, 110, 113, 23);
		contentPane.add(btnMusikAussuchen);
		
		JLabel lblWasMchtenSie = DefaultComponentFactory.getInstance().createTitle("Was m\u00F6chten Sie als n\u00E4chstes tun?");
		lblWasMchtenSie.setBounds(94, 31, 309, 44);
		contentPane.add(lblWasMchtenSie);
	}
}
 
Zuletzt bearbeitet:

Libentis

Aktives Mitglied
Hi

Also wenn ich dich richtig verstanden habe, soll nachdem du auf "Login" geklickt hast das neue Fenster erscheinen?
Also so:
Anhang anzeigen 7403
Soll zu
Anhang anzeigen 7404
werden?
(Screenshots nochmal als Anhang)

Wenn ja:
Du hast ja deine Methode Menu(). Ruf die einfach in dem ActionListener für den Button "Login" auf, dann ruft er das neue Fenster auf, dafür machst du aus
Java:
public Menu()
einfach
Java:
public void Menu()
und rufst rufst die Methode in dem Listener dann mit
Java:
Menu();
auf.

Um ehrlich zu sein, wär es mir lieber, wenn hier sich ein Profi das nochmal anguckt, damit wir beide (Silversteinchen & ich) uns sicher sein können oder eben lernen wie es richtig geht.
 

Anhänge

  • Willkommen zu iLoveMusic.jpg
    Willkommen zu iLoveMusic.jpg
    19,4 KB · Aufrufe: 23
  • iLoveMusic.jpg
    iLoveMusic.jpg
    19,6 KB · Aufrufe: 22
Zuletzt bearbeitet:
JAAA genau und ich brauch halt nur diesen einen Teil um zu wissen wie ich die alle miteinander verbinden kann.

wie soll ich das machen? kannst du mir das kurz vorgeben?
 
Zuletzt bearbeitet:

Libentis

Aktives Mitglied
wie soll ich das machen? kannst du mir das kurz vorgeben?

Wie gesagt:
In deinem 2. Codeteil den du gepostet hast hast du ja die Methode Menu(). Zu finden unter Post #3 ab Zeile 40. Also deinem Post von gestern Abend 22:43.

Dort hast du stehen:
[Java] public Menu() [/Java]

Das änderst du um in
[Java] public void Menu() [/Java]

Das wars quasi schon. Jetzt musst du in dem ActionListener den ich dir gestern geschickt habe nur noch die Methode aufrufen. Das geht über [Java] Menu(); [/Java]

Code von gestern:
[Java]
btnNewButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
System.out.println("hi"); // <---- Hier kommt dann dein Quelltext hin
}
});
[/Java]
Statt "System.out.println("hi"); kommt da dann Menu(); hin.


Ich hoffe ich konnte es einigermaßen verständlich erklären. Wichtig ist vorallem, dass du verstehst was du da machst. Wenn du dir den Code zusammengooglest und andere dir den liefern und du das nicht verstehst hilft es dir nicht.
 
Zuletzt bearbeitet:
Ok ich versuch das jetzt kurz mal!

ne ne ich muss das verstehen, wie ich diesen ActionListener benutzen muss..

ok ich habs hier eingebunden
Java:
public class Login extends JFrame {

	private JPanel contentPane;
	private JPasswordField passwordField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Login frame = new Login();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	

	btnNewButton.addActionListener(new java.awt.event.ActionListener() 
	 {
           public void actionPerformed(java.awt.event.ActionEvent e) 
           {
           	Menu ();    
           
     });
	 }
	
	/**
	 * Create the frame.
	 */
	public Login() {
		setBackground(new Color(255, 0, 0));
		setTitle("Willkommen zu iLoveMusic");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 392, 191);
		
		contentPane = new JPanel();
		contentPane.setToolTipText("");
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
	
	             
		JButton btnNewButton = new JButton("Login");
		btnNewButton.setBounds(5, 124, 371, 28);
		contentPane.add(btnNewButton);
	
		  

		
		JButton btnAbbrechen = new JButton("Registration ");
		btnAbbrechen.setBounds(5, 102, 371, 23);
		contentPane.add(btnAbbrechen);

		
	    passwordField = new JPasswordField();
		passwordField.setBounds(229, 71, 137, 20);
		contentPane.add(passwordField);
		
		JEditorPane editorPane = new JEditorPane();
		editorPane.setBounds(229, 26, 137, 23);
		contentPane.add(editorPane);
		
		JLabel lblUsername = DefaultComponentFactory.getInstance().createTitle("Username");
		lblUsername.setBounds(31, 26, 88, 14);
		contentPane.add(lblUsername);
		
		JLabel lblPassword = DefaultComponentFactory.getInstance().createTitle("Password");
		lblPassword.setBounds(31, 71, 88, 17);
		contentPane.add(lblPassword);
		
	}

		
}

da steht aber als Error :
Java:
Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
	btnNewButton cannot be resolved
	The method Menu() is undefined for the type new ActionListener(){}
	Syntax error, insert "}" to complete ClassBody

	at Login.main(Login.java:57)

muss ich dann bei Class Menu nicht auch den ActionListener iwie definieren?
 
Zuletzt bearbeitet:

Libentis

Aktives Mitglied
Den ActionListener packst du einfach mit in die Login Methode. Also in deinem Fall in Zeile 50, sieht dann so aus:
Die Login-Methode sieht genauso aus wie in deinem ersten Post, bis auf diesen Teil (sowie für die anderen Buttons)
[Java]
JButton btnNewButton = new JButton("Login");
btnNewButton.setBounds(5, 124, 371, 28);
contentPane.add(btnNewButton);

btnNewButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
Menu();

}
});
[/Java]

Die Menu-Methode sieht entsprechend so aus:

[Java]
public void Menu() {
setTitle("iLoveMusic");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 428, 179);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JButton btnLogout = new JButton("Logout");
btnLogout.setBounds(10, 110, 89, 23);
contentPane.add(btnLogout);

JButton btnGuthabenAufladen = new JButton("Guthaben aufladen");
btnGuthabenAufladen.setBounds(129, 110, 125, 23);
contentPane.add(btnGuthabenAufladen);

JButton btnMusikAussuchen = new JButton("Musik aussuchen");
btnMusikAussuchen.setBounds(290, 110, 113, 23);
contentPane.add(btnMusikAussuchen);

//JLabel lblWasMchtenSie = DefaultComponentFactory.getInstance().createTitle("Was m\u00F6chten Sie als n\u00E4chstes tun?");
JLabel lblWasMchtenSie = new JLabel("Was m\u00F6chten Sie als n\u00E4chstes tun?");
lblWasMchtenSie.setBounds(94, 31, 309, 44);
contentPane.add(lblWasMchtenSie);
}
[/Java]
An der Menu-Methode hab ich nichts geändert, bis auf das void.
Außerdem fehlt bei dir eine "}".
Welche Entwicklungsumgebung benutzt du?
 
Zuletzt bearbeitet:

Libentis

Aktives Mitglied
Welche Fehlermeldung erscheint denn? Also was genau klappt nicht?

Ich könnte dir einfach den Code schicken, aber ich denke daraus lernst du dann vermutlich nicht viel. Wenn du es dennoch wünscht ist es mir auch recht.
 
Schick ihn mir einfach; ich schau mir das an, ich kanns gerade auch nicht verstehen wieso das nicht klappt.

Java:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem: 
	The method Menu() is undefined for the type new ActionListener(){}

	at Login$2.actionPerformed(Login.java:83)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
 

Libentis

Aktives Mitglied
In Ordnung. Magste deinen Code auch nochmal (komplett) posten?

Vorab, da ich "com.jgoodies.forms.factories.DefaultComponentFactory" nicht habe musste ich ein paar Sachen ändern, aber die stehen da noch immer als Kommentar, wie z.B. bei den JLabels, siehste dann ja :)
Und überschreib deinen Code ja nicht mit dem hier!

[Java]
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JEditorPane;
import javax.swing.JTextArea;
import javax.swing.JComboBox;
import javax.swing.JTextPane;
import javax.swing.JSeparator;
import javax.swing.JFormattedTextField;
import javax.swing.JMenu;

import java.awt.Panel;
import java.awt.TextField;

import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JLabel;

//import com.jgoodies.forms.factories.DefaultComponentFactory;

import java.awt.Color;



public class Login extends JFrame {

private JPanel contentPane;
private JPasswordField passwordField;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Login frame = new Login();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}


/**
* Create the frame.
*/
public Login() {
setBackground(new Color(255, 0, 0));
setTitle("Willkommen zu iLoveMusic");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 392, 191);

contentPane = new JPanel();
contentPane.setToolTipText("");
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);


JButton btnNewButton = new JButton("Login");
btnNewButton.setBounds(5, 124, 371, 28);
contentPane.add(btnNewButton);

btnNewButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
Menu();

}
});

JButton btnAbbrechen = new JButton("Registration ");
btnAbbrechen.setBounds(5, 102, 371, 23);
contentPane.add(btnAbbrechen);

passwordField = new JPasswordField();
passwordField.setBounds(229, 71, 137, 20);
contentPane.add(passwordField);

JEditorPane editorPane = new JEditorPane();
editorPane.setBounds(229, 26, 137, 23);
contentPane.add(editorPane);

//JLabel lblUsername = DefaultComponentFactory.getInstance().createTitle("Username");
JLabel lblUsername = new JLabel("Username: ");
lblUsername.setBounds(31, 26, 88, 14);
contentPane.add(lblUsername);

//JLabel lblPassword = defaultComponentFactory.getInstance().createTitle("Password");
JLabel lblPassword = new JLabel("Password: ");
lblPassword.setBounds(31, 71, 88, 17);
contentPane.add(lblPassword);

}

public void Menu() {
setTitle("iLoveMusic");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 428, 179);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JButton btnLogout = new JButton("Logout");
btnLogout.setBounds(10, 110, 89, 23);
contentPane.add(btnLogout);

JButton btnGuthabenAufladen = new JButton("Guthaben aufladen");
btnGuthabenAufladen.setBounds(129, 110, 125, 23);
contentPane.add(btnGuthabenAufladen);

JButton btnMusikAussuchen = new JButton("Musik aussuchen");
btnMusikAussuchen.setBounds(290, 110, 113, 23);
contentPane.add(btnMusikAussuchen);

//JLabel lblWasMchtenSie = DefaultComponentFactory.getInstance().createTitle("Was m\u00F6chten Sie als n\u00E4chstes tun?");
JLabel lblWasMchtenSie = new JLabel("Was m\u00F6chten Sie als n\u00E4chstes tun?");
lblWasMchtenSie.setBounds(94, 31, 309, 44);
contentPane.add(lblWasMchtenSie);
}
}

[/Java]
 
Einmal Login :
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JEditorPane;
import javax.swing.JTextArea;
import javax.swing.JComboBox;
import javax.swing.JTextPane;
import javax.swing.JSeparator;
import javax.swing.JFormattedTextField;
import javax.swing.JMenu;

import java.awt.Panel;
import java.awt.TextField;

import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JLabel;

import com.jgoodies.forms.factories.DefaultComponentFactory;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;



public class Login extends JFrame {

	private JPanel contentPane;
	private JPasswordField passwordField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Login frame = new Login();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	

	/**
	 * Create the frame.
	 */
	public Login() {
		setBackground(new Color(255, 0, 0));
		setTitle("Willkommen zu iLoveMusic");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 392, 191);
		
		contentPane = new JPanel();
		contentPane.setToolTipText("");
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
	
	             
		JButton btnNewButton = new JButton("Login");
		btnNewButton.setBounds(5, 124, 371, 28);
		contentPane.add(btnNewButton);
		
		btnNewButton.addActionListener(new java.awt.event.ActionListener() 
		 {
	           public void actionPerformed(java.awt.event.ActionEvent e) 
	          {
	           	Menu();

	           }
	     });
		  

		
		JButton btnAbbrechen = new JButton("Registration ");
		btnAbbrechen.setBounds(5, 102, 371, 23);
		contentPane.add(btnAbbrechen);

		
	    passwordField = new JPasswordField();
		passwordField.setBounds(229, 71, 137, 20);
		contentPane.add(passwordField);
		
		JEditorPane editorPane = new JEditorPane();
		editorPane.setBounds(229, 26, 137, 23);
		contentPane.add(editorPane);
		
		JLabel lblUsername = DefaultComponentFactory.getInstance().createTitle("Username");
		lblUsername.setBounds(31, 26, 88, 14);
		contentPane.add(lblUsername);
		
		JLabel lblPassword = DefaultComponentFactory.getInstance().createTitle("Password");
		lblPassword.setBounds(31, 71, 88, 17);
		contentPane.add(lblPassword);
		
	}

		
}


einmal Menu
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JLabel;

import com.jgoodies.forms.factories.DefaultComponentFactory;


public class Menu extends JFrame {

	private JPanel contentPane;

	/**
	 * Launch the application.
	 */
	public static void run(){
		new Login().setVisible(false);
		new Menu().setVisible(true);
	}
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Menu frame = new Menu();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Menu() {
		setTitle("iLoveMusic");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 428, 179);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JButton btnLogout = new JButton("Logout");
		btnLogout.setBounds(10, 110, 89, 23);
		contentPane.add(btnLogout);
		
		JButton btnGuthabenAufladen = new JButton("Guthaben aufladen");
		btnGuthabenAufladen.setBounds(129, 110, 125, 23);
		contentPane.add(btnGuthabenAufladen);
		
		JButton btnMusikAussuchen = new JButton("Musik aussuchen");
		btnMusikAussuchen.setBounds(290, 110, 113, 23);
		contentPane.add(btnMusikAussuchen);
		
		JLabel lblWasMchtenSie = DefaultComponentFactory.getInstance().createTitle("Was m\u00F6chten Sie als n\u00E4chstes tun?");
		lblWasMchtenSie.setBounds(94, 31, 309, 44);
		contentPane.add(lblWasMchtenSie);
	}
}


Leider kann man hier keine Schokolade vergeben, die hätt ich dir jetzt gerne gegeben hahaha:lol:
 

Harry Kane

Top Contributor
@Silversteinchen: bei deinem Post um 16:53 hast du den Teil der mit
Java:
btnNewButton.addActionListener(new java.awt.event.ActionListener()
beginnt, in deine public static void main(String[] args) eingebunden, und in dieser Methode ist btnNewButton natürlich nicht bekannt.
Die Zeilen gehören in den Konstruktor deiner Login-Klasse.
Anders als von Libentis geraten, würde ich NICHT die Methode Menu verwenden, weil dadurch anders al offenbar gefordert, kein neuer JFrame geöffnet wird, sondern nur die Eigenschaften von Login geändert werden (sowohl Menu als auch Login sind ja JFrames, wobei man sich über den Sinn durchaus streiten kann, aber nicht zu diesem Zeitpunkt).
Also: statt der Methode Menu solltest du im Rumpf der actionPerformed()-Methode eine neue Instanz von Menu erstellen und diese sichtbar machen.
Java:
new Menu().setVisible(true);
 
Ich danke euch!!!!!!! Und wie ich auch Danke. Wenigstens habe ich jetzt verstanden wie ich diesen Actionlistener benutzen muss!!

Ich schick euch virtuell eine Merci Schokolade! :D :D :D :D :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Compiler-Fehler Frames verbinden Java Basics - Anfänger-Themen 6
G Frames mit einander verbinden Java Basics - Anfänger-Themen 10
S Zwei Frames miteinander verbinden Java Basics - Anfänger-Themen 5
CptK Interface 2 von einander unabhängige Frames mit Panel gleichzeitig nutzen Java Basics - Anfänger-Themen 66
I In der Mitte eines Frames mit BorderLayout etwas malen Java Basics - Anfänger-Themen 7
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
S Position eines Frames Java Basics - Anfänger-Themen 3
S Auf eine variable/objekt eines frames zugrifen Java Basics - Anfänger-Themen 22
C Einige Fragen zu Frames Java Basics - Anfänger-Themen 7
D Frame schließt gleich alle Frames Java Basics - Anfänger-Themen 5
U [Problem] Handling multiple frames Java Basics - Anfänger-Themen 5
G Aufrufen eines Frames aus einer anderen Klasse Java Basics - Anfänger-Themen 6
A Intelligente Anordnung von Frames in einer Fläche Java Basics - Anfänger-Themen 4
S Mehrere Frames Java Basics - Anfänger-Themen 4
D JMenuBar und Hintergrund eines Frames Java Basics - Anfänger-Themen 2
M Zwei Frames ein ActionListener Java Basics - Anfänger-Themen 21
K Schließen eines Frames Java Basics - Anfänger-Themen 4
G Java-Frames funktionieren nach Neuinstallation nicht mehr. Java Basics - Anfänger-Themen 3
S Frames schließen Java Basics - Anfänger-Themen 14
D Sound in Frames möglich? EDIT Class Clip Java Basics - Anfänger-Themen 5
V Wie auf Elemente des Frames zugreifen Java Basics - Anfänger-Themen 4
A frames layout Java Basics - Anfänger-Themen 4
Z frames Java Basics - Anfänger-Themen 3
G Frames unabhänig schliessen. Java Basics - Anfänger-Themen 2
G Ist es möglich, den 'Rahmen' eines Frames durch Grafiken. Java Basics - Anfänger-Themen 5
G Liste in mehreren unabhängigen Frames aktualisieren. Java Basics - Anfänger-Themen 6
V Aufruf eines Frames Java Basics - Anfänger-Themen 6
H 3 buttons in 3-spalten eines frames Java Basics - Anfänger-Themen 3
E Farbänderung des Frames bei Klick . Java Basics - Anfänger-Themen 7
B Analoguhr und openTime eines Frames Java Basics - Anfänger-Themen 6
G Applets in Frames & Bilder Java Basics - Anfänger-Themen 10
P Beide frames werden geschlossen Java Basics - Anfänger-Themen 2
M Infernal Frames Java Basics - Anfänger-Themen 4
G mehrere Frames nacheinander aktualisieren Java Basics - Anfänger-Themen 2
G Methode zum schliessen eines frames - nicht durch windows X Java Basics - Anfänger-Themen 14
D Menü soll immer da bleiben - Frames sollen wechseln Java Basics - Anfänger-Themen 3
Chucky 2 Frames Farbwahl durch Buttons Java Basics - Anfänger-Themen 10
P Frage zu Frames: Fenster sichtbar, unsichtbar machen Java Basics - Anfänger-Themen 1
G Frames Java Basics - Anfänger-Themen 4
M 2 Frames Java Basics - Anfänger-Themen 16
M Daten zwischen Frames austauschen Java Basics - Anfänger-Themen 2
M 2 frames separat schliessen Java Basics - Anfänger-Themen 22
D Frage zu Frames! Java Basics - Anfänger-Themen 9
Q Kommunikation zwischen Frames Java Basics - Anfänger-Themen 3
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
B GUI extension mit einer Liste verbinden Java Basics - Anfänger-Themen 1
T Access mit Java verbinden im netzwerk Java Basics - Anfänger-Themen 3
S Java mit SQLite Verbinden Java Basics - Anfänger-Themen 16
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
AppGuruCode962 Button mit Textfield verbinden Java Basics - Anfänger-Themen 13
F 2 Polygone verbinden Java Basics - Anfänger-Themen 4
D Input/Output Array in einem String mit einem Trennzeichen verbinden Java Basics - Anfänger-Themen 17
R TreeSelectionEvent mit rechtem splitPane verbinden Java Basics - Anfänger-Themen 1
L Klassen verbinden Java Basics - Anfänger-Themen 10
C Zwei Listen verbinden Java Basics - Anfänger-Themen 1
K [Schnittstelle] JavaProject mit Arduino verbinden Java Basics - Anfänger-Themen 5
N Datenbank mit GUI verbinden - Wie? Java Basics - Anfänger-Themen 5
F OOP Klassen miteinander verbinden Java Basics - Anfänger-Themen 12
GadgetSofa jComboBox mit dem Button verbinden. Aber wie?? Java Basics - Anfänger-Themen 4
B Datei mit String verbinden und speichern Java Basics - Anfänger-Themen 3
U Glassfish mit MySQL verbinden Java Basics - Anfänger-Themen 1
J 2 String Arrays in neuem String Array verbinden Java Basics - Anfänger-Themen 4
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
D String-Arrays miteinander verbinden Java Basics - Anfänger-Themen 5
M Methoden miteinander verbinden (Laufzeit) Java Basics - Anfänger-Themen 6
M Array verbinden, mit und ohne new Java Basics - Anfänger-Themen 2
H Erste Schritte Mit Proxyserver verbinden Java Basics - Anfänger-Themen 5
S Best Practice Boolean mit IF verbinden Java Basics - Anfänger-Themen 7
G Zwei Aufgabenbereiche verbinden Java Basics - Anfänger-Themen 5
J GUI mit phpMyAdmin Datenbank verbinden Java Basics - Anfänger-Themen 0
S überschneidende Char-Arrays, zu einem Längeren verbinden Java Basics - Anfänger-Themen 7
ScottGambler Zwei Methoden verbinden? Java Basics - Anfänger-Themen 16
L OOP Buttons mit Pfeilen miteinander verbinden Java Basics - Anfänger-Themen 5
R Erste Schritte Bausteine mit Pfaden verbinden Java Basics - Anfänger-Themen 2
J Zellen verbinden in JTable Ueberschrift Java Basics - Anfänger-Themen 3
M Klassen verbinden Java Basics - Anfänger-Themen 4
M Klassen verbinden Java Basics - Anfänger-Themen 2
F Klassen Klassen miteinander Verbinden Java Basics - Anfänger-Themen 19
H OOP Mehrere Klassen 'verbinden'? Java Basics - Anfänger-Themen 4
N Erste Schritte jFrames verbinden Java Basics - Anfänger-Themen 6
M String mit String verbinden Java Basics - Anfänger-Themen 4
S reguläre Audrücke verbinden Java Basics - Anfänger-Themen 18
C Listen verbinden Java Basics - Anfänger-Themen 6
B Arrays sortiert verbinden Java Basics - Anfänger-Themen 7
J 2 Threads mit Pipe verbinden Java Basics - Anfänger-Themen 4
D Klassen verbinden (Referenzattribute) Java Basics - Anfänger-Themen 2
S Infos aus mehreren JVMS verbinden Java Basics - Anfänger-Themen 3
A mehrere Klassen verbinden Java Basics - Anfänger-Themen 7
U Klassen verbinden Java Basics - Anfänger-Themen 5
S Klassen verbinden Java Basics - Anfänger-Themen 10
M Mehrere Methoden verbinden Java Basics - Anfänger-Themen 8
J Wie mit Datenbank verbinden, z.B. DB2? VERZWEIFLUNG PUR! Java Basics - Anfänger-Themen 15
G Arrays verbinden Java Basics - Anfänger-Themen 3
C .Brauche H.I.L.F.E. 2 Klassen verbinden Java Basics - Anfänger-Themen 4
F JSF mit CSS verbinden // geht nicht ? Java Basics - Anfänger-Themen 3
M Mehrere Klassen verbinden - Module Java Basics - Anfänger-Themen 3
V Test mit JUnit verbinden Java Basics - Anfänger-Themen 3
0 Klassen Verbinden Java Basics - Anfänger-Themen 6
M Mehrere HashSets verbinden. Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben