Schiebepuzzle: MouseListener und Graphics?

Major4189

Mitglied
Hallo liebe Community,

das is mein erster Post, deshalb hoffe ich das der hier richtig gelandet ist.

Ich habe ein Problem mit mit der implementierung eines MouseListeners. undzwar soll ich ein "schiebepuzzle" implementieren welches ein Rahmen hat. Wenn man auf diesen Rahmen klickt, soll eine Methode aufgerufen werden, die das Puzzle gelöst darstellen soll. wird wieder auf den rahmen geklickt, so soll eine andere Methode aufgerufen werden die das Puzzle durchmischt. Soweit so schlecht....

die "Rahmenmethode" wird von der paint(Graphics g) methode gerufen und sieht wie folgt aus:

Java:
public void paint(Graphics g)
	{
		paintBorder(g);
		paintField(g);
	}
	

	private void paintBorder(Graphics g)
	{	
		
		Insets insets    = getInsets();
		
		Dimension size   = getSize();
		size.height      -= insets.top + insets.bottom;
		size.width       -= insets.left + insets.right;
		fieldsize        = new Dimension();
		fieldsize.width  = (size.width - (2 * bordersize)) / 4;
		fieldsize.height = (size.height - (2 * bordersize)) / 4;
		
		g.setColor(Color.black);
		for (int i = 0; i <= 1 ; ++i) {
			g.drawRect(
					insets.left + i,
					insets.top + i,
					size.width  - 1 - 2 * i,
					size.height - 2 - 2 * i
			);
			g.drawRect(
					insets.left + bordersize - i,
					insets.top  + bordersize - i,
					4 * fieldsize.width + 2 * i,
					4 * fieldsize.height + 2 * i
			);
		}	
	}

Wenn ich nun ein MouseListener deklariere, muss das ja immer auf ein Object "referenziert" werden...nur wie deklariert man ein Object vom Typ Graphics welches ich an den MouseListener binden kann? Mein Gedankenansatz:

Java:
		g.addMouseListener(new MouseAdapter(){
			@Override
			public void mouseClicked(MouseEvent e) {
				randomizeField(true);
				
			}
		});repaint();


Hat jemand einen Tip für mich?
Vielen Dank! :D
 

Volvagia

Top Contributor
:eek:
MouseListener sollten wenn schon auf einen Container hinzugefügt werden. Deshalb adde ihm auf dem Toplevel-Container, und rechne dir aus, ob der Mouseclick am Border stattfand.
 

Major4189

Mitglied
meinste mit container jetzt den insets? weil auf dem kann ich den mouseListener auch nicht anwenden...

also bsp:
Java:
insets.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e) {
randomizeField(true);

}
});repaint();

wie kann ich denn auf diesen container zugreifen? und vor allem wie verknüpfe ich den mit dem MouseListener?
 

Major4189

Mitglied
tut mir leid, aber ganz klappen tut das auch nicht, denn wenn ich in der paint methode den listener adde:

Java:
public void paint(Graphics g)
	{
		paintBorder(g);
		this.addMouseListener(new MouseAdapter(){
			@Override
			public void mouseClicked(MouseEvent e) {
				
				randomizeField(true);
				
			}
		});repaint();
			
		paintField(g);
	}

dann macht der das für das gesamte frame...aber das soll ja NUR auf den Border gelegt werden...selbst wenn ich aus this.addMouseListener(new MouseAdapter(){ nur addMouseListener(new MouseAdapter(){ mache, findet das event auf dem gesamten Frame statt...
 

Volvagia

Top Contributor
Errechne halt, ob die Position über dem Border stattfindet.
Und mache es besser nicht in der Paint, sonst wird bei jedem neu zeichnen ein neuer hinzugefügt, wodurch er x mal bei einem Event ausgeführt wird.
Ein repaint in der paint halte ich auch nicht für geschickt, ich kenn mich mit den Klassen zwar nicht so aus, denke aber dass das eine Endlosschleife erzeugen könnte wodurch der Heap volläuft.
 

Major4189

Mitglied
den border errechnet doch schon die paintBorder(Graphics g) methode. das ist nicht mein problem, das problem ist das ich ums verrecken nicht diesen listener auf diesen border bekomme ???:L
gibt es denn ein object welches ich deklarieren kann und dann auf diese koordinaten legen kann um es mit dem MouseListener zu verknüpfen, oder muss das alles über die paint methoden geschehen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Java Schiebepuzzle Java Basics - Anfänger-Themen 11
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
H MouseListener klicks begrenzen Java Basics - Anfänger-Themen 4
H MouseListener begrenzen und Speichern Java Basics - Anfänger-Themen 1
V Problem - MouseListener/2DGraphics Java Basics - Anfänger-Themen 2
R Variablen MouseListener funktioniert auf anderen Pcs nur bedingt Java Basics - Anfänger-Themen 6
G MouseListener funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
GRAZZ0R MouseListener - Rechteck Bewegen Java Basics - Anfänger-Themen 1
R Variable Klassenübegreifend MouseListener Java Basics - Anfänger-Themen 0
D MouseListener funktioniert nach Timerstart nicht mehr Java Basics - Anfänger-Themen 9
J MouseListener für Schleifen-Objekte Java Basics - Anfänger-Themen 13
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
S GUI ImageIcon Mouselistener Link Java Basics - Anfänger-Themen 0
P MouseListener funktioniert nicht Java Basics - Anfänger-Themen 6
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
P Problem mit MouseListener Java Basics - Anfänger-Themen 4
T MouseListener, recht Taste Java Basics - Anfänger-Themen 2
M MouseListener funktioniert nicht Java Basics - Anfänger-Themen 9
E Mouselistener auf jTable Java Basics - Anfänger-Themen 18
B Variablen an MouseListener übergeben Java Basics - Anfänger-Themen 5
H MouseListener für ein eingefügtes Bild in einem JFrame Java Basics - Anfänger-Themen 7
H Mouselistener bei JTable Java Basics - Anfänger-Themen 4
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
J MouseListener fuer gezeichnete Polyline Java Basics - Anfänger-Themen 3
L Label + MouseListener Java Basics - Anfänger-Themen 12
M MouseListener funkioniert auf JPanel nicht Java Basics - Anfänger-Themen 8
P Jtree MouseListener und NoCollapse Java Basics - Anfänger-Themen 2
M MouseListener Java Basics - Anfänger-Themen 2
kitz MouseListener Java Basics - Anfänger-Themen 8
B MouseListener & Graphics Java Basics - Anfänger-Themen 10
D Problem mit Mouselistener und jtable Java Basics - Anfänger-Themen 7
C fragen zu MouseListener Java Basics - Anfänger-Themen 3
M MouseListener funktioniert in jar-file nicht mehr Java Basics - Anfänger-Themen 13
F Logikproblem: Auf Mouselistener warten Java Basics - Anfänger-Themen 6
E Auf Mouselistener warten?! Java Basics - Anfänger-Themen 20
S Probleme mit 2 mouselistener Java Basics - Anfänger-Themen 6
A Frage zu MouseListener Java Basics - Anfänger-Themen 2
D Mouselistener Java Basics - Anfänger-Themen 2
A jPanel an MouseListener übergeben? Java Basics - Anfänger-Themen 2
S Swing JEditoPane MouseListener Java Basics - Anfänger-Themen 5
M Mouselistener Java Basics - Anfänger-Themen 4
S MouseListener funzt net. Java Basics - Anfänger-Themen 5
G MouseListener double click? Java Basics - Anfänger-Themen 1
V MouseListener Java Basics - Anfänger-Themen 5
M MouseListener Java Basics - Anfänger-Themen 3
N Mouselistener? Java Basics - Anfänger-Themen 5
T ein MouseListener pro Objekt sinnvoll? Java Basics - Anfänger-Themen 4
F MouseListener - Unhandled IOException Java Basics - Anfänger-Themen 2
U MouseListener Java Basics - Anfänger-Themen 2
L Array von Buttons, jeder soll MouseListener haben Java Basics - Anfänger-Themen 5
S MouseListener - Events auf Mouseklick Java Basics - Anfänger-Themen 14
L MouseListener Problem. Java Basics - Anfänger-Themen 2
S mouselistener Java Basics - Anfänger-Themen 3
N MouseListener Java Basics - Anfänger-Themen 2
J MouseListener implementieren Java Basics - Anfänger-Themen 12
P MouseListener wird anscheinend nicht benutzt Java Basics - Anfänger-Themen 12
N MouseListener - reagiert zu spät Java Basics - Anfänger-Themen 3
D JList - Textzeilen MouseListener zuweisen Java Basics - Anfänger-Themen 4
M prüfen ob mouselistener gesetzt ist. Java Basics - Anfänger-Themen 10
O image und mouseListener Java Basics - Anfänger-Themen 15
W MouseListener Probleme beim Abfangen Java Basics - Anfänger-Themen 8
P Kann keinen MouseListener hinzufügen Java Basics - Anfänger-Themen 3
G MouseListener einbauen - wie? Java Basics - Anfänger-Themen 4
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
CptK Interface Bilder mit Graphics g zeichnen Java Basics - Anfänger-Themen 7
J Erste Schritte drawLine Methode der Graphics Klasse Java Basics - Anfänger-Themen 2
J GUI / Graphics Java Basics - Anfänger-Themen 2
H Graphics / repaint Java Basics - Anfänger-Themen 8
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Cast java.awt.Graphics Java Basics - Anfänger-Themen 7
Azazel (Anfängerhilfe) awt.Graphics Schwierigkeiten Java Basics - Anfänger-Themen 6
I Methoden public void paintComponent (Graphics g) Java Basics - Anfänger-Themen 4
B Erste Schritte Anzeige von Graphics Objekten einzeln aktualisieren Java Basics - Anfänger-Themen 1
S Farbige Lebensleiste mit Graphics? Java Basics - Anfänger-Themen 10
S Ein Graphics Obejct mehrmals mit denselben Eigenschaften zeichnen lassen?!?!? Java Basics - Anfänger-Themen 4
S G Graphics Java Basics - Anfänger-Themen 1
thet1983 g.Graphics löschen? Java Basics - Anfänger-Themen 1
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
A EAN13 Font auf graphics g erzeugt Monospaces Java Basics - Anfänger-Themen 14
N Graphics to png Java Basics - Anfänger-Themen 10
N Methode draw(Graphics g) aufrufen Java Basics - Anfänger-Themen 6
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
J Problem mit paint(Graphics g) Java Basics - Anfänger-Themen 4
J Jtable änderung soll graphics aktualisieren Java Basics - Anfänger-Themen 4
J JAVA Graphics Java Basics - Anfänger-Themen 5
A Graphics Objekt verhält sich merkwürdig Java Basics - Anfänger-Themen 2
G DRUCKEN von z.B. eines JFrame über print(Graphics g) Java Basics - Anfänger-Themen 9
Maxim6394 Probleme mit Graphics Java Basics - Anfänger-Themen 7
W von Graphics in BufferedImage Java Basics - Anfänger-Themen 10
M OOP Graphics immer selbstbezihend Java Basics - Anfänger-Themen 12
K Problem mit Parameter von paint(Graphics g) Java Basics - Anfänger-Themen 3
T Transparente Bilder mit Graphics zeichnen Java Basics - Anfänger-Themen 17
H Probleme mit Graphics G Java Basics - Anfänger-Themen 2
J Graphics g Java Basics - Anfänger-Themen 4
H Probleme mit Graphics Java Basics - Anfänger-Themen 5
M Graphics zeichnen Java Basics - Anfänger-Themen 2
F Graphics PDFBox Java Basics - Anfänger-Themen 9
M kurze Frage zu Graphics Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben