![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gast
Beiträge: n/a
|
Hallo! Hier der Code: Code: public class Counter
extends JComponent
implements MouseListener, MouseWheelListener {
private int wert = 0; //aktueller value (Standard = 0)
/**
* Erzeugt einen Counter mit <code>n</code> als Startwerts
*
* @param value valid in
*/
public Counter(int value) {
value = this.wert;
addMouseListener(this);
addMouseWheelListener(this);
}
public void paint(Graphics f) {
Graphics2D g = (Graphics2D) f;
g.setColor(Color.RED);
String StrValue = String.valueOf(wert);
int w = getWidth();
int h = getHeight();
g.setFont(new Font("Arial", Font.PLAIN, 46));
FontMetrics metrics = g.getFontMetrics();
int width = metrics.stringWidth(StrValue);
int height = metrics.getHeight();
g.drawString(StrValue, w / 2 - width / 2, h / 2 - height / 2);
}
/**
* Beim klicken auf die Komponente:
* linke Taste: <code>wert</code> wird erhöht
* rechte Taste: <code>wert</code> wird erniedrigt
* mittlere Taste: <code>wert</code> = 0
*/
public void mouseClicked(MouseEvent e) {
System.out.println(e.getModifiers());
//Welche Taste wurde gedrückt
switch (e.getButton()) {
//linke Maustaste
case MouseEvent.BUTTON1 :
{
//wenn Modifikator gedrückt wurde
if (e.getModifiers() != 0) {
applyModifiers(e, +1);
} else {
wert++;
};
}
//rechte Maustaste
case MouseEvent.BUTTON3 :
{
//wenn Modifikator gedrückt wurde
if (e.getModifiers() != 0) {
applyModifiers(e, -1);
} else {
wert++;
};
}
//mittlere Maustaste
case MouseEvent.BUTTON2 :
{
wert = 0;
}
}
repaint();
}
/**
* Wenn das Mausrad bewegt wurde:
* hinaufscrollen: <code>wert</code> wird erhöht
* hinunterscrollen: <code>wert</code> wird erniedrigt
*/
public void mouseWheelMoved(MouseWheelEvent e) {
//wenn Modifikator gedrückt wurde
if (e.getModifiers() != 0) {
int as = e.getWheelRotation()*(-1); // Vorzeichen
applyModifiers(e, as);
} else {
wert += e.getWheelRotation()*(-1);
}
repaint();
}
/**
* @param e das MouseEvent
* @param as das Vorzeichen
*/
private void applyModifiers(MouseEvent e, int as) {
//Modifikator gedrückt
int mod = e.getModifiers();
switch (mod) {
//STRG
case 2 :
wert += 500 * as;
//SHIFT
case 1 :
wert += 100 * as;
//ALT
case 8 :
wert += 10 * as;
}
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
Und jetzt zum Problem: in mouseClicked( Code: //linke Maustaste
case MouseEvent.BUTTON1 :
{
//wenn Modifikator gedrückt wurde
if (e.getModifiers() != 0) {
applyModifiers(e, +1);
} else {
wert++;
};
}
Ich bin komplett verwirrt. HILFE!!!!! |
|
| | Nach oben #2 |
| Chefkoch-Mod Registriert seit: 30.05.2004
Beiträge: 432
|
Was für einen Wert gibt er zurück? Ich bin mir jetzt nicht sicher, aber soll der Modifier 0 sein, wenn keiner gedrückt wurde. Vergleich doch einfach so: Code: if (e.getModifiers() == java.awt.event.InputEvent.BUTTON1_MASK) {...}
Übrigens kannst Du einen Wert kaum erniedrigen, weil er keine Persönlichkeit besitzt. Senken oder dekrementieren ist das Wort, was Du suchst.
__________________ Denk mal darüber nach... Lars ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen. www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de |
| | |
| | Nach oben #3 | ||
| Gast
Beiträge: n/a
| Zitat:
Ich will ja überprüfen, ob modifier gedrückt worden sind. Weil wenn z.B. SHIFT gedrückt wird ist der Modifier 1, bei STRG 2, zusammen 3. => keiner gedrückt 0 Oder? Zitat:
| ||
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Schlüssel in verschachteltem Array suchen und Wert zurückgeben | Ben | PHP-Programmierung | 8 | 19.10.2006 18:54 |
| Wert Varible in Listener anderer Klasse nutzen??? | risa | Desktop-Applikationen und Grafik | 1 | 03.04.2006 07:36 |
| Mit Checkbox bestimmten Wert Ändern | Chriscom | Datenbanken | 12 | 14.03.2006 08:36 |
| [smarty] Modifier betrifft alle Variablen die ausgegeben werden | freezer | PEAR, PECL und Frameworks | 7 | 01.03.2006 18:24 |
| [PHP] Kontrollstrukturen in PHP | Jann Hendrik | Tutorials | 7 | 09.12.2004 21:28 |