Allgemeine Fragen

Status
Nicht offen für weitere Antworten.

wolf360

Mitglied
Okey wie es scheint hab ich das mit extends und imlements doch noch nicht so ganz verstandn....

Ich will eine Klasse mit ActionEvent´s schreiben für verschiedene Ereignisse z.B: Beenden, Neues Fenster etc. aber irgendwie kappier ich das nicht so ganz.

Code:
class Events implements ActionListener{

  //Beispieleevents
        void beenden(){
              @Override
	public void actionPerformed(ActionEvent e) {
		System.exit(0);
	}
               }

        void fenster(){
            @Override
	public void actionPerformed(ActionEvent f){
		JFrame fenster = new JFrame();
               fenster.setSitze(100,100);
              fenster.setVisible(true);
	}
               
            } 


}

so ungefähr wollte dich die Klasse gestalten... natürlich funktionierts nicht...-.-"

aller erste Fehlermeldung (auch wenn die klasse leer ist):

gruß wolf360
 

ARadauer

Top Contributor
sind das methoden innerhalb von methoden? sowas geht natürlich nicht

was genau soll die klasse machen?
 

wolf360

Mitglied
ich will verschiedene Ereignisse bei verschiedenen Buttonklicks ausführen
und das wollt ich alle in eine Klasse packen, also halt Beenden, neue Fenster öffnen etc.?
 
M

Michael...

Gast
die Methode public void actionPerformed(...) wird von der Komponente aufgerufen an der der ActionListener registiert ist. Das bedeutet wenn mehrere Komponenten den selben ActionListener benutzen, mußt die in der actionPerformed überprüfen welche Komponente das ActionEvent abgefeuert hat und dann die entsprechenden Methoden zum Schließen, Öffnen, ... aufrufen.
 

wolf360

Mitglied
mhh.... also mom mal ich zeig etz mal wie ichs mir vorgestellt hab:

Code:
class Events{
	
	
	class beenden implements ActionListener{
		@Override
				public void actionPerformed(ActionEvent e) {
					System.exit(0);					
				}
		
	}
	
	class neuefenster implements ActionListener{
		@Override
		public void actionPerformed(ActionEvent e) {
			JFrame frame = new JFrame();
			frame.setSize(100,100);
			frame.setVisible(true);
		}

                 }
}

public static void main( String... args ) throws Exception 
  { 
	 JButton beenden = new JButton();
            button.addActionListener(new Events.beenden());

            JButton nfenster = new JButton();
            nfenster.addActionListener(new Events.neuesfenster());
 


	 
  }

irgendwie so hab ich mir des vorgestellt, blos ich schaffs bzw. kappier es nicht wie ich es schaffe das es auch funktioniert.

gruß wolf360
 

ARadauer

Top Contributor
so gehts

Code:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

class Events{ 


   class beenden implements ActionListener{ 
      @Override 
      public void actionPerformed(ActionEvent e) { 
         System.exit(0);                
      } 

   } 

   class neuefenster implements ActionListener{ 
      @Override 
      public void actionPerformed(ActionEvent e) { 
         JFrame frame = new JFrame(); 
         frame.setSize(100,100); 
         frame.setVisible(true); 
      } 

   } 


public static void main( String... args ) throws Exception 
{ 
   Events e = new Events();
   JButton beenden = new JButton("beenden"); 
   beenden.addActionListener( e.new beenden()); 

   JButton nfenster = new JButton("neues fenster"); 
   nfenster.addActionListener(e.new neuefenster()); 
   
   JFrame f = new JFrame();
   f.setLayout(new BorderLayout());
   f.add(beenden, BorderLayout.NORTH);
   f.add(nfenster, BorderLayout.SOUTH);
   f.setSize(200, 200);
   f.setVisible(true);
   

}


}

wobei das ist schon eine seltsame syntax, hab das noch nie gesehen e.new neuefenster()... eclipse hat es mir vorgeschlagen... ich halte nicht viel von so innter classes
 

ARadauer

Top Contributor
einen Controller der sich bei der View als ActionListener registiert, dieser Controller implementiert dann die Listener interfaces.

oder, so mach ich jetzt häufiger.:
mein controller ist über ein eigenes interface der gui bekannt, dass einfache fachliche Methodne abietet, neu, speichern, abbrechen (die button die ich halt verwende) und in der gui hab ich dann sowas in die richtung

Code:
//---- orderButton ----
				orderButton.setText("Bestellen");
				orderButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						controller.startorder();
					}
				});
 
G

Guest

Gast
Code:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;


public class Test extends JFrame implements ActionListener{

	private JButton nfenster, beenden;
	
	private Test(){
		initGUI();
	}
	
	private void initGUI(){
		setLayout(new BorderLayout());
		nfenster = new JButton("Neues Fenster");
		beenden = new JButton("Beenden");
		nfenster.addActionListener(this);
		beenden.addActionListener(this);
		add(beenden, BorderLayout.NORTH);
		add(nfenster, BorderLayout.SOUTH);
		setSize(200, 200);
		setVisible(true);
	}
	
	public void actionPerformed(ActionEvent e){        
		if(e.getSource().equals(beenden))
			System.exit(0);                              
		else if(e.getSource().equals(nfenster)){
			JFrame frame = new JFrame();      //diese Anweisungen würde ich
			frame.setSize(100,100);			  //in andere klassen auslagern und
			frame.setVisible(true);			  //dann einfach die Methoden aufrufen
		}
	}
	
	public static void main(String[] args) {
		new Test();
	}
}

Ach, es gibt 1000 Möglichkeiten, sowas zu lösen. :###
 

Marco13

Top Contributor
Ja, die gibt es - aber wenn man "viele" Buttons (bzw. ActionEvent-Generatoren) hat, wird so eine riesige One-For-All-ActionPerformed-Methode sehr schnell sehr unübersichtlich. Eine dringende Empfehlung wäre - wie du schon geschrieben hattest - die Aktionen in einzelne, private Methoden zu packen. Und DIE kann man dann auch sehr bequem mit anonymen Listenern aufrufen.

Also "zumindest" sowas
Code:
public class Test extends JFrame implements ActionListener{

   private void initGUI(){
...  
      nfenster.addActionListener(this);
      beenden.addActionListener(this);
...
   }
   
   public void actionPerformed(ActionEvent e){       
      if(e.getSource().equals(beenden))
         beenden();
      else if(e.getSource().equals(nfenster)){
         neuesFenster();
      }
   }
   

   private void beenden()
   {
         System.exit(0);                             
   }

   private void neuesFenster()
   {
         JFrame frame = new JFrame();      //diese Anweisungen würde ich
         frame.setSize(100,100);           //in andere klassen auslagern und
         frame.setVisible(true);           //dann einfach die Methoden aufrufen
   }
}

Allerdings finde ich es so noch modularer und "schöner", weil die Verbindung zwischen dem Button, und dem, was der Button TUT, direkt beim Erstellen des Buttons hergestellt wird
Code:
public class Test extends JFrame { // NÖ: implements ActionListener{

   private void initGUI(){
...  
      nfenster.addActionListener(new ActionListener()
      {
         public void actionPerformed(ActionEvent e){       
               neuesFenster();
         }
      });
      beenden.addActionListener(new ActionListener()
      {
         public void actionPerformed(ActionEvent e){       
               beenden();
         }
      });
...
   }

   private void beenden()
   {
         System.exit(0);                             
   }

   private void neuesFenster()
   {
         JFrame frame = new JFrame();      //diese Anweisungen würde ich
         frame.setSize(100,100);           //in andere klassen auslagern und
         frame.setVisible(true);           //dann einfach die Methoden aufrufen
   }
}

(Letzteres ähnelt in gewisser Weise dem Konzept von "Signals" und "Slots" in QT)
 

wolf360

Mitglied
oeky danke für die Hilfe und gleich zu nächstenfrage:

ich hab etz mal a bissl mit Netzwerkprogrammierung angefangen was bis etz auch ganz gut klappt hab nen Server und nen Clienten erstellt, beim Zahlen übermitteln geht alles noch ganz gut aber wenn ich einen String an den Client weiter geben will schaff ich des irgendwie net, wie muss ich das machen??

gruß wolf360
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
D Rekursion Allgemeine Fragen Java Basics - Anfänger-Themen 2
J Allgemeine Fragen zur GUI Java Basics - Anfänger-Themen 1
M Erste Schritte Allgemeine Fragen Java Basics - Anfänger-Themen 4
S Allgemeine Fragen Java Basics - Anfänger-Themen 9
T Hashset - Allgemeine Fragen Java Basics - Anfänger-Themen 19
J Allgemeine Fragen zur Programmierung Java Basics - Anfänger-Themen 36
S JDK installieren Allgemeine Fragen Java Basics - Anfänger-Themen 3
J [Neuling] Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 20
A Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 7
G GridLayout Allgemeine Fragen Java Basics - Anfänger-Themen 2
I Allgemeine fragen zu Socket server Java Basics - Anfänger-Themen 6
G Login - Allgemeine Fragen Java Basics - Anfänger-Themen 6
A Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 10
W allgemeine Fragen Java Basics - Anfänger-Themen 6
S Allgemeine Java Codes lesen und verstehen Java Basics - Anfänger-Themen 7
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
Kirby.exe Allgemeine Frage Java Basics - Anfänger-Themen 3
G Schach in Java - Allgemeine Frage zur Architektur Java Basics - Anfänger-Themen 7
X Allgemeine Hashtabelle - wie? Java Basics - Anfänger-Themen 4
TechGirl LinkedList - kurze allgemeine Frage Java Basics - Anfänger-Themen 17
M Allgemeine Java-Frage anhand bspw. Eclipse Java Basics - Anfänger-Themen 4
B KeyListener als allgemeine Methode Java Basics - Anfänger-Themen 5
Luk10 OOP Sehr allgemeine Schnittstelle Java Basics - Anfänger-Themen 19
S allgemeine verständnisschwierigkeit Java Basics - Anfänger-Themen 5
G allgemeine Ressourcen-Verwaltung... Java Basics - Anfänger-Themen 3
T Allgemeine Frage Java Basics - Anfänger-Themen 3
C Sortierverfahren - allgemeine Lösung? Java Basics - Anfänger-Themen 9
J Allgemeine Frage zu GUI´s in Java Java Basics - Anfänger-Themen 6
S OOP Allgemeine Frage zu OOP Java Basics - Anfänger-Themen 4
A Allgemeine Frage zur Sichtbarkeit "private" Java Basics - Anfänger-Themen 5
U Arrays allgemeine Frage Java Basics - Anfänger-Themen 3
G Allgemeine Frage-GUI Java Basics - Anfänger-Themen 10
J Methode, Allgemeine Frage Java Basics - Anfänger-Themen 5
G Allgemeine Schnittstelle für Ausgabe? Java Basics - Anfänger-Themen 5
S Allgemeine Frage zu Sockets Java Basics - Anfänger-Themen 23
O allgemeine Exceptions abfangen Java Basics - Anfänger-Themen 17
E Allgemeine Anfrage Java lernen Java Basics - Anfänger-Themen 3
D Allgemeine Objekte abspeichern Java Basics - Anfänger-Themen 9
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
A Bei VierGewinnt fragen ob man gegen CPU oder Menschen spielen will. Java Basics - Anfänger-Themen 7
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
S Diverse Fragen vor Schulaufgabe ;) Java Basics - Anfänger-Themen 4
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
C 3 Fragen rund um Klassenattribute Java Basics - Anfänger-Themen 8
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
N Fragen zur Datenspeicherung Java Basics - Anfänger-Themen 45
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
W Fragen zu Generics Java Basics - Anfänger-Themen 14
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
H Java Quereinsteiger Roadmap und Fragen Java Basics - Anfänger-Themen 29
H fragen Java Basics - Anfänger-Themen 15
M Samelsarium Grundlegender Fragen 2 Java Basics - Anfänger-Themen 9
M Sammelsarium an Grundlagen Grundlagen Fragen Java Basics - Anfänger-Themen 11
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
J Fragen zu synrchonized und kritischen Abschnitten Java Basics - Anfänger-Themen 5
S Fragen zu einem Rechentrainer Java Basics - Anfänger-Themen 2
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J Wo kann man Fragen zu ireport stellen. Java Basics - Anfänger-Themen 0
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Fragen zur Klassen Java Basics - Anfänger-Themen 4
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
J Interface Fragen bezüglich "Sauberkeit" von Code Java Basics - Anfänger-Themen 5
D Objekte-Fragen Java Basics - Anfänger-Themen 1
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
S Erste Schritte Fragen zur For-Schleife Java Basics - Anfänger-Themen 9
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
C Fragen zum Spigot Plugin (1.8) Java Basics - Anfänger-Themen 6
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
L fragen zu arrays Java Basics - Anfänger-Themen 8
L Fragen zu selbstgeschriebenem Programm Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben