Swing Problem mit ActionListener

ZomByte

Mitglied
Hallo liebes Coding-Team.

Ich arbeite derzeit an einem Recording-Tool,
und möchte meinen MenuItems eine Funktion zuweisen.
Heißt ich möchte mit dem ActionEvents bewirken , dass wenn auf
des Item geklickt wird , das ein Fenster erscheint , wo z.B. Hallo Welt steht.

Nur krieg ich das nicht wirklich hin...
Hier mein Code:

Java:
package de.ZomByte.main;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class GUI extends JFrame implements ActionListener {
	private static final long serialVersionUID = -8306758325921324517L;
	
	//The Menubars etc will be created
	
	 JMenuBar   menubar1;
		
	 JMenu		menubar1_menu1;
	 JMenu		menubar1_menu2;
	 JMenu		menubar1_menu3;
	
	 JMenuItem	menubar1_menu1_menuItem1;
	 JMenuItem	menubar1_menu1_menuItem2;
	 JMenuItem	menubar1_menu1_menuItem3;
	
	 JMenuItem	menubar1_menu2_menuItem1;
	 JMenuItem 	menubar1_menu2_menuItem2;
	 JMenuItem	menubar1_menu2_menuItem3;
	
	 JMenuItem	menubar1_menu3_menuItem1;
	 JMenuItem	menubar1_menu3_menuItem2;
	 JMenuItem	menubar1_menu3_menuItem3;
	
	
	// init global variables
	 
	 
	JLabel 	label;
	JLabel	label1;
	JButton btn_start;
	JButton btn_search;
	JButton btn_play;
	JPanel pan_west;
	
	// main method
	public static void main(String[] args) {
		//create new GUI and set it visible
		GUI gui = new GUI("Test Fenster");
		gui.setVisible(true);
	}
	
	
	// GUI constructor
	public GUI(String title) {
		// call the constructor of upper class and set up JFrame
		super("RecordingTool Version 1.0");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new BorderLayout());
		
		// instantiate objects
		btn_start = new JButton("Start/Rec");
		//label	  = new JLabel("Record the AudioFile");
		//label1	  = new JLabel("Search the Audio-File, and then you klick on Play!");
		
		btn_search = new JButton("Search");
		btn_play = new JButton("Play");
		pan_west = new JPanel();
		
		
			//This funktion adds the Menu	
		menubar1 = new JMenuBar();
		
		menubar1_menu1 = new JMenu("Menu");
		menubar1_menu2 = new JMenu("Options");
		menubar1_menu3 = new JMenu("Other");
				
		menubar1_menu1_menuItem1 = new JMenuItem("Credits");
		menubar1_menu1_menuItem2 = new JMenuItem("Exit!");
		
		//		COMMING SOON
		
		//menubar1_menu2_menuItem1 = new JMenuItem("CommingSoon");
		//menubar1_menu2_menuItem2 = new JMenuItem("CommingSoon");
		//menubar1_menu2_menuItem3 = new JMenuItem("CommingSoon");
		
		//menubar1_menu3_menuItem1 = new JMenuItem("CommingSoon");
		//menubar1_menu3_menuItem2 = new JMenuItem("CommingSoon");
		//menubar1_menu3_menuItem3 = new JMenuItem("CommingSoon");
		
		//-------------------------------------------------------
		
		menubar1_menu1.add(this.menubar1_menu1_menuItem1);
		menubar1_menu1.add(this.menubar1_menu1_menuItem2);
		
		
		//			COMMING SOON
		
		//menubar1_menu1.add(this.menubar1_menu1_menuItem3);
		
		//menubar1_menu2.add(this.menubar1_menu2_menuItem1);
		//menubar1_menu2.add(this.menubar1_menu2_menuItem2);
		//menubar1_menu2.add(this.menubar1_menu2_menuItem3);
		
		//menubar1_menu3.add(this.menubar1_menu3_menuItem1);
		//menubar1_menu3.add(this.menubar1_menu3_menuItem2);
		//menubar1_menu3.add(this.menubar1_menu3_menuItem3);
		
		//---------------------------------------------------
		
		menubar1.add(this.menubar1_menu1);
		menubar1.add(this.menubar1_menu2);
		menubar1.add(this.menubar1_menu3);

		
		this.setJMenuBar(this.menubar1);
		
		
		
		
		// set up buttons
		btn_start.addActionListener(this);
		btn_search.addActionListener(this);
		btn_play.addActionListener(this);
		
		// set up pan_west and add contents to it
		pan_west.setLayout(new GridLayout(3,1));
		pan_west.add(btn_start);
		//pan_west.add(label);
		pan_west.add(btn_search);
		//pan_west.add(label1);
		pan_west.add(btn_play);
		
		
		// add pan_west to JFrame
		add(pan_west, BorderLayout.WEST);
		
		// set size of the JFrame
		setSize(500,150);
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// if btn_start was pressed
		if(e.getSource() == btn_start) {
			// if btn_start's text was "Start"
			if(e.getActionCommand().equals("Start")) {
				btn_start.setText("Stop");
				btn_start.setEnabled(false);
				btn_start.setEnabled(true);
						
			}
			
			// if btn_start's text was "Stop"
			if(e.getActionCommand().equals("Stop")) {
				btn_start.setText("Start");
				
		}
	}
		
		
		
	}
}


Hoffe ihr helft mir.

Grüße.
 
Hi,

Du hast nix in der richtung implementiert.

Es gibt aber entsprechende ActionListener. Und insgesamt wird auch ein Frame geöffnet.

Wodran liegt das, dass man nun kein neues Fenster öffnen kann mit den gewünschten Inhalt?
 
Nein..

Ich möchte einen zweites ActionEvent

sagen wir das er so aussieht:

public void actionPerformed1(ActionEvent e) {
JOptionPane.showMessageDialog(this, "Hallo Welt");

}

Nur ich weiß nicht mehr genau wie ich diesen Dialog erscheinen lasse,
wenn ich grade nur auf das menuItem1 also Credits drücke...
 
Zuletzt bearbeitet:
Java:
        menubar1_menu3_menuItem1.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				
			}
		});
 
Nun gut,

Aber wenn ich auf das menuItem klicke , passiert nix...



Java:
			menubar1_menu1_menuItem1.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e1) {
                JOptionPane.showMessageDialog(menubar1_menu1_menuItem1, "This is " +
                		"an Test Message!");
                
            }
        });	
			
			menubar1_menu1_menuItem2.addActionListener(new ActionListener() {
				
				@Override
				public void actionPerformed(ActionEvent e2) {
					JOptionPane.showMessageDialog(menubar1_menu1_menuItem2, 
							"Do you realy wanna Exit ?");
				}
			});
		
	}
}


Und könnte mir einer sagen wie ich das mache , das wenn ich z.b auf OK
drücke, sich das Programm schließt ?









PS: Ja ich bin Anfänger.
 

Zurück
Oben