Lauflicht erst durch Mausklick starten

Status
Nicht offen für weitere Antworten.
P

PlzHelpMe

Gast
hi. Ich habe ein Lauflicht und moechte nun, dass es erst startet, wenn ich auf die linke(oder rechte, ist egal) Maustaste klicke. Wie mache ich das???
 

Sky

Top Contributor
Hast Du schon einen MouseListener ?

Der könnte eine bool'sche Variable umsetzen, in deren Abhängigkeit dein Lauflicht läuft.
 
P

PlzHelpMe

Gast
Hab noch keinen MouseListener. Kannst du mir vllt. ein Beispiel fuer so was zeigen?
 
P

PlzHelpMe

Gast
Ich kriege immer einen Fehler: indentifier expected.
hier mein MouseListener(Der ist zwar nicht fuer das Programm aber muesste doch eigentlich trotzdem funktionieren oder?

Code:
      Lauflicht.addMouseListener(this(){
               public void mouseReleased(MouseEvent e)
               {
                       System.out.println("Mouse Released ");
               }
               public void mousePressed(MouseEvent e)
               {
                        System.out.println("Mouse Pressed ");
               }
               public void mouseExited(MouseEvent e)
               {
                        System.out.println("Mouse Exited ");
               }
               public void mouseEntered(MouseEvent e)
               {
                        System.out.println("Mouse Entered ");
               }
               public void mouseClicked(MouseEvent e)
               {
                        System.out.println("Mouse clicked ");
               }
          });
 

Sky

Top Contributor
1.) Ist Lauflicht die Instanz oder die Klasse ?
Der Listener muss immer an einer konkreten Instanz sein.

2.) new MouseListener anstatt this()
 
G

Guest

Gast
Code:
import java.awt.*;
import java.awt.event.*;
import java.util.EventObject.*;
public class LED 
extends Frame
implements Runnable, MouseListener
{
   //Konstanten
   private static final int NUMLEDS  = 100;
   private static final int SLEEP    = 17;
   private static final int LEDSIZE  = 70;
   private static final Color ONCOLOR  = new Color(0,0,0);
   private static final Color OFFCOLOR = new Color(255,255,255);
   private static final Color TextColor = new Color(0,0,0);
   //private static final Color SCHRIFT = new Color
   public int Zaehler = 0;
   //Instanzvariablen
   private Thread th;
   private int switched;
   private int dx;

   public static void main(String args[])
   {
      LED frame = new LED();
      frame.setSize(1000,1000);
      frame.setVisible(true);
      frame.startAnimation();
      button.addMouseListener(new MouseListener());
      //addMouseListener(this);
   }

   public LED()
   {
      super("LED");
      setBackground(Color.lightGray);
      //WindowListener
      addWindowListener(
         new WindowAdapter() {
            public void windowClosing(WindowEvent event)
            {
               if (th != null) {
                  th.stop();
                  th = null;
               }
               setVisible(false);
               dispose();
               System.exit(0);
            }
      
   }	
      );


	setLayout(new FlowLayout());
	Button button = new Button("LOS");
	add(button);
}
	
     button.addMouseListener(new MouseListener(){
               public void mouseReleased(MouseEvent e)
               {
                       System.out.println("Mouse Released ");
               }
               public void mousePressed(MouseEvent e)
               {
                        System.out.println("Mouse Pressed ");
               }
               public void mouseExited(MouseEvent e)
               {
                        System.out.println("Mouse Exited ");
               }
               public void mouseEntered(MouseEvent e)
               {
                        System.out.println("Mouse Entered ");
               }
               public void mouseClicked(MouseEvent e)
               {
                        System.out.println("Mouse clicked ");
               }
          });		
   public void startAnimation()
   {
      th = new Thread(this);
      th.start();
   }

   public void run()
   {
      switched = -1;
      dx = 1;
      while (true) {
         repaint();
         try {
            Thread.sleep(SLEEP);
         } catch (InterruptedException e){
            //nichts
         }
         switched += dx;
         if (switched < 0 || switched > NUMLEDS - 1) {
            dx = 1;
            switched = 0;
         }
      }
   }
    
    public void paint( Graphics g ) {
    g.setFont(new java.awt.Font("SansSerif",1,100));
    int y = 3;
    int x = 0;
    for( int i = 0; i < NUMLEDS; i++ ) {
      g.setColor( i == switched ? ONCOLOR : OFFCOLOR );
      if ( i % 10 == 0 ) {
        y++;
        x=0;
      }
      x++;
      if (i==NUMLEDS-1){
	g.setColor(TextColor);
	g.drawString(" "+Zaehler/100, 100, 150);
        g.setColor(OFFCOLOR);
	Zaehler++;	
	}
      g.fillOval(  x * ( LEDSIZE ), y * 70, LEDSIZE, LEDSIZE );
      }
   }
}
 

Sky

Top Contributor
ok, ich wußte nicht, dass Du einen Button hast. Vergiss also alles vom MouseListener. Du brauchst sowas:
Code:
button.addActionListener( new ActionListener() {
     public void actionPerformed( ActionEvent event ) {
      
     }
   } );
 
P

PlzHelpMe

Gast
wollte es eigentlich auch ohne button. hat aber nicht funktioniert. wenn du mir sagen koenntest wie es geht, entferne ich den button liebend gerne...
 

Sky

Top Contributor
1. werf erst mal alles was mit Mouse- /ActionListener zu tun hat weg.

2. werf alles, was mit dem button zu tun hat weg

3. setzt "private int switched=-1;"

4. füge dies im Konstruktor hinzu:
Code:
      this.addMouseListener( new MouseAdapter() {
        public void mouseClicked( MouseEvent event ) {
          startAnimation();
        }
      });
 
P

PlzHelpMe

Gast
Kannst du mir mal genau schreiben, wo ich das einsetzen muss? also die zeile davor und danach...
 
P

PlzHelpMe

Gast
kanns du mir vllt. noch sagen wie ich das programm durch tasten-/mausdruck wieder auf null stellen kann?
 

Sky

Top Contributor
im prinzip musst Du deinen Thread über eine bool'sche Variable mitteilen, ob switched weiter verändert werden soll und dann switched wieder auf -1 setzen. Dann sind deine LED's wieder im initial-Zustand
 

Sky

Top Contributor
tasten-/mausdruck abfangen
private boolean active von true auf false setzen

if-Abfrage in der run-Methode um zu gucken ob switched erhöht werden muss

switched auf -1 setzen
 

Sky

Top Contributor
Ist das eine Hausaufgabe o.ä. ?

Oder warum bist Du bestrebt Code zu tippen (copy&paste), den Du nicht verstehst !?
 
P

PlzHelpMe

Gast
Ne art Hausaufgabe.. ausserdem lerne ich so ziemlich schnell im gegensatz zum buecher lesen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Java Mail Timeout erst nach rund 5 Minuten? Java Basics - Anfänger-Themen 9
FireHorses Einen Command erst nach einer Chateingabe aktivieren Java Basics - Anfänger-Themen 1
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
J Input/Output Den zweiten Output erst nach Eingabe ausgeben Java Basics - Anfänger-Themen 4
S OOP Button erst nach 2x klicken deaktivieren Java Basics - Anfänger-Themen 4
P Weiter erst bei Drücken de Enter-TAste Java Basics - Anfänger-Themen 1
W Es wird erst gezeichnet, wenn ich das Fenster vergrößere? Java Basics - Anfänger-Themen 20
B FileWatcher : Erst Rückmeldung wenn komplett kopiert? Java Basics - Anfänger-Themen 3
I Zähler, der erst wieder zählt nachdem Pixel wieder andere Farbe hat Java Basics - Anfänger-Themen 2
Clarence Weinberg Eclipse: Package wird erst nach Neustart aktuallisiert Java Basics - Anfänger-Themen 1
A Dialog schließt erst nach 2x Klicken auf Schließen Java Basics - Anfänger-Themen 2
T Erste Schritte Elemente finden, deren Name erst "zusammengesetzt" wird Java Basics - Anfänger-Themen 8
R Text Pane Aktualisierung erst nach JOptionPane Java Basics - Anfänger-Themen 10
M globales Array erst mittem im Programm erstellen Java Basics - Anfänger-Themen 14
R Variablen Datentyp erst während Laufzeit festlegen Java Basics - Anfänger-Themen 6
B Erst lesen: Automatisch Texteingabe bestätigen Java Basics - Anfänger-Themen 6
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
S JButton erscheint erst bei Mouseover Java Basics - Anfänger-Themen 10
M Tabelle aktualisiert sich erst nach mausklick Java Basics - Anfänger-Themen 4
E Methode erst nach 20 Sekunden ausführen? Java Basics - Anfänger-Themen 4
A JLabel erst auf null dann auf einen Wert setzen Java Basics - Anfänger-Themen 7
I Befehl wird erst nach dem Ausführen einer Funktion ausgeführt Java Basics - Anfänger-Themen 4
I Funktion erst starten nachdem eine komplett fertig ist Java Basics - Anfänger-Themen 4
M Buttons erscheinen erst bei Mouse-Over Java Basics - Anfänger-Themen 8
C Prozess wird erst bei Beendigung des Programms ausgeführt Java Basics - Anfänger-Themen 2
V JFrame erst sichtbar machen wenns geladen ist Java Basics - Anfänger-Themen 8
Weiti Anzeige von komponenten erst bei Mouse-Over Java Basics - Anfänger-Themen 3
G Objekte von Klassen die erst zur Laufzeit bekannt sind erstellen Java Basics - Anfänger-Themen 6
B Hilfe: Tastatureingaben werden erst nach der Maus angenommen Java Basics - Anfänger-Themen 3
S Teil derGUI zeigt sich erst später Java Basics - Anfänger-Themen 2
C was mach ich erst wenn die programme richtig schwer werden? Java Basics - Anfänger-Themen 2
V Buffered Reader, erst ab bestimmter Zeile auslesen? Java Basics - Anfänger-Themen 8
A JButton erscheint erst bei mouse over Java Basics - Anfänger-Themen 3
A components im JFrame erst nach Größenänderung sichtbar? Java Basics - Anfänger-Themen 2
P Eclipse "aufraeumen", iText-Lizenz, Exe-Datei erst Java Basics - Anfänger-Themen 7
P Menüeinträge erst "über Umwege" sichtbar? Java Basics - Anfänger-Themen 2
K jScrollbar erst nach klicken sichtbar Oo Java Basics - Anfänger-Themen 2
K ResultSet öffnet sich garnicht erst Java Basics - Anfänger-Themen 9
J Habe gerade erst mit Java begonnen - Frage zu JTabbedPane Java Basics - Anfänger-Themen 3
S welcher Konstructor zu erst bei Vererbung Java Basics - Anfänger-Themen 3
C Erst weiter machen wenn fertig Java Basics - Anfänger-Themen 3
I Erst repaint() dann zeichnen? Java Basics - Anfänger-Themen 6
Q Code erst weiterführen, wenn ChildFrame geschlossen wurde Java Basics - Anfänger-Themen 10
DEvent anfängerfrage: wieso layout erst beim verändern? Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K mit <<1 kann man mal 2 machen, mit >>2 geteilt durch zwei und was bewirkt <<<1 und >>>1? Java Basics - Anfänger-Themen 5
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
C In String, Buchstaben ersetzen durch andere Buchstaben Java Basics - Anfänger-Themen 26
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
C if-Konstrukt durch switch-Konstrukt ersetzen Java Basics - Anfänger-Themen 14
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
N for Schleife durch Rekursion ersetzen Java Basics - Anfänger-Themen 6
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
H Aufruf von Methoden durch Methoden Java Basics - Anfänger-Themen 3
H Wie kann ich durch Methoden definiren? Java Basics - Anfänger-Themen 8
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
M String array durch Eingabe begrenzen Java Basics - Anfänger-Themen 7
J Dynamisches Array durch split()-Funktion? Java Basics - Anfänger-Themen 3
O Typparameter durch Wildcards verallgemeinern Java Basics - Anfänger-Themen 3
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
F Ein Datum (int) durch Methode als String formatieren Java Basics - Anfänger-Themen 2
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben