Ich habe ein Problem. Zuerst - ICH HABE UND ICH HABE EINEN KNOPF. Mein Problem ist: Wie kann es für jeden Button auf verschiedene Effekt-Animationen klicken. Also, wenn ich zum ersten Mal auf den Button klicke, geht das Bild runter, dann klicke ich das zweite Mal von links nach rechts, dann klicke ich das dritte mal auf Bild und dann nochmal für viertes Klickbild runter (; Animation kann ich machen) rechts, Animation nach unten und dann Bild gone.So ich weiß, wie Animation (Effekte) zu tun, aber ich weiß einfach nicht, wie für jeden schaffen unterschiedliche Wirkung auf das Bild klicken) ...Für jeden Klick anderer Effekt?
Antwort
- ersten Lese über ActioListeners
- dann erstellen Sie einfach einen Listener, der einen Zähler verwendet!
Jedes Mal, wenn Sie auf die Schaltfläche klicken, erhöht der Listener diesen Zähler. Und Sie verwenden verschiedene Animationen basierend auf dem aktuellen Wert des Zählers. Wenn die "letzte" Animation stattfand, setzen Sie einfach den Zähler zurück, um von vorne anzufangen.
Hier gehen Sie
public class ButtonCycle extends JPanel {
private int counter = 0;
public ButtonCycle() {
JButton btn = new JButton("Next");
btn.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseClicked(MouseEvent e) {
switch(counter) {
case 0:
// "Go down"-animation code here
System.out.println("Go down");
counter++;
break;
case 1:
// "Left->right"-animation code here
System.out.println("Left->right");
counter++;
break;
case 2:
// "Disappearing"-animation code here
System.out.println("*poof*, now I'm gone");
counter = 0;
break;
}
}
@Override
public void mouseExited(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
});
add(btn);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame("Button cycling through animations");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setPreferredSize(new Dimension(250,250));
f.setContentPane(new ButtonCycle());
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
});
}
}
Sie die java.util.Random Klasse nutzen könnte zusammen mit dem Random.nextInt() Verfahren gegen Werte von 1 bis 4 innerhalb des ActionPerformed Fall dein Knopf. Abhängig davon, welcher Wert zufällig erzeugt wird, kann dann eine spezifische Animationsmethode ausgeführt werden, vielleicht durch einen Schalter/Fall oder wenn Aussagen ... was auch immer. Hier ein Beispiel:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Random rnd = new Random();
int value = (rnd.nextInt(4) + 1);
switch (value) {
case 1:
imageDown();
break;
case 2:
imageLeftRight();
break;
case 3:
imageGone();
break;
case 4:
imageUp();
break;
}
}
Oder wenn Sie bevorzugen, können Sie die Math.random() Methode verwenden, zum Beispiel:.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int value = 4 + (int)(Math.random() * (((1 - 2) - 4) + 1));
switch (value) {
case 1:
imageDown();
break;
case 2:
imageLeftRight();
break;
case 3:
imageGone();
break;
case 4:
imageUp();
break;
}
}
Natürlich gibt es Zeiten, wenn der Zufall Die generierte Zahl ist die gleiche wie die zuvor generierte Zahl. Sie können aber auch ein Klassenfeld verwenden, um den vorherigen Zufallswert zu speichern. Wenn der aktuell generierte Wert derselbe ist wie der zuvor generierte Wert, können Sie innerhalb von vielleicht ein anderes erzeugen a tun/während Schleife, für Beispiel:
private int previousValue = 0;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int value = 0;
Random rnd = new Random();
do {
value = (rnd.nextInt(4) + 1);
} while (previousValue == value);
previousValue = value;
switch (value) {
case 1:
imageDown();
break;
case 2:
imageLeftRight();
break;
case 3:
imageGone();
break;
case 4:
imageUp();
break;
}
}
- 1. Rebind Hover-Effekt nach Klick JQuery
- 2. Entfernen Sie den Revealize-Effekt bei Klick
- 3. Wie kann ich diesen Code für jeden Klick verwenden?
- 4. Meteor: Aktivieren anderer Vorlagen durch Klick?
- 5. reversierende jquery Klicken Sie auf jeden Klick
- 6. Wie man jeden Buchstaben in anderer Farbe in css/html
- 7. Taste - einzelne Taste mit Hover und Klick-Effekt mit Symbol
- 8. Ripple-Effekt für Tabs
- 9. für 'Hover-Effekt'
- 10. Verwendung anderer Datenquellen für cubism.js
- 11. Ändern Sie die Td-Auffüllung für nur eine Tabelle, nicht Effekt Stil anderer Tabellen?
- 12. Android-Karte Ansicht Ripple-Effekt beginnt direkt nach einem Klick
- 13. $ anchorScroll-Effekt mit Mausrolle statt Klick in eckigen
- 14. HTML/CSS/JavaScript/jQuery - Hover-Effekt auf Klick
- 15. Machen Sie einen Scrolling-Effekt funktioniert auch mit Klick
- 16. Probleme mit jQuery Bei Klick animieren - zweimal benötigt + falscher Effekt
- 17. DrawerLayout mit NavigationView - kein Ripple-Effekt bei Klick
- 18. jQuery UI effect() -Methode - welche Optionen gibt es für jeden Effekt?
- 19. jQuery auf jeden Klick der Eltern ändern Kind nur
- 20. RadGrid Column Sorting jeden Klick auf die Kopfzeile auf
- 21. XSLT-FO für-jeden
- 22. SQL für jeden?
- 23. für jeden Monat
- 24. Winkelformvalidierungsklasse für jeden Eingang
- 25. Zeitaufwand für jeden Thread
- 26. Für jeden bekommen RowIndex
- 27. Algorithmus für jeden Artikel
- 28. Log4J für jeden Kontext
- 29. für jeden Monat
- 30. Wie für jeden deviceid