Maus Pressed Frage

  • Themenstarter Themenstarter $$Money$$
  • Beginndatum Beginndatum
$

$$Money$$

Hallo,

Ich benötige wieder einmal Hilfe bei folgendem Problem:

Solange eine Maustaste gedrückt ist möchte ich das sich die Variable chopter_ypos stetig erhöt. Sobald man die Maustaste los lässt soll die Variable laufend wieder abnehmen.

Nun bis anhin habe ich das so probiert:

Java:
	class MausLauscher extends MouseAdapter {
		public void mousePressed(MouseEvent e) {
			chopter_ypos++;
			bildanzeige.repaint();
		}
	
		public void mouseClicked(MouseEvent e) {
			chopter_ypos--;
			bildanzeige.repaint();
		}
	}

Mir ist aber klar geworden das das nicht funktioniert und das macht es auch nicht. Hat jemand eine Idee wie man mein Problem lösen könnte?

MfG:

Money
 
Java:
import javax.swing.JFrame;

public class Frame extends JFrame
{
	private static final long serialVersionUID = 1L;
	private int chopterY;
	
	public int getChopterY()
	{
		return(this.chopterY);
	}

	public void setChopterY(int i)
	{
		this.chopterY = i;
		System.out.println(i);
	}
	
	public static void main(String[] args)
	{
		Frame f = new Frame();
		f.setSize(200, 200);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setResizable(false);
		f.addMouseListener(new MausLauscher(f));
		f.setVisible(true);
	}
}
Java:
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class MausLauscher extends MouseAdapter implements Runnable
{
	private boolean mousePressed;
	private Frame frame;
	
	public MausLauscher(Frame frame)
	{
		super();
		this.frame = frame;
		
		Thread thisThread = new Thread(this);
		thisThread.setDaemon(true);
		thisThread.start();
	}
	public void run()
	{
		while(true)
		{
			if(this.mousePressed)
				this.frame.setChopterY(this.frame.getChopterY() + 1);
			try
			{
				Thread.sleep(200L);
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}
	}
	
	public void mousePressed(MouseEvent e)
	{
		this.mousePressed = true;
	}
	public void mouseReleased(MouseEvent e)
	{
		this.mousePressed = false;
	}
}


?
 

Neue Beiträge

Zurück