Maus "locken" für Menü

J@ckWhiteIII

Mitglied
Hallöchen nochmal,
Gestern hatte ich mit dieser mousePressed()-Methode schon ein kleines Problem...Dies ist gelöst worden, aber leider habe ich da ein neues Problem: Wie man sieht, habe ich einen boolean "locked". Dieser soll eben dazu dienen, dass (da es sich um ein Menü handelt) die Maus nur auf den ersten Punkt des Menüs reagiert, wenn z.b. in menü 1 ein eintrag auf der selben koordinate liegt wie ein eintrag aus menü 2, welches aufgerufen wird NACHDEM der Eintrag im ersten Menü geclickt wurde. Lange Rede, kurzer Sinn: Funktioniert bei meiner bisherigen mousePressed()-Methode nicht, dass zweite menü (welches das zum beenden des spiels ist) wird sofort gecklickt, wenn man auf "Quit Current Game" clickt, was wieder zum hauptmenü führen soll.
hier die methode aus der KeyStates-Klasse:

Java:
public void mousePressed(MouseEvent e) {
		if (e.getButton() == 1){ //ist linke maustaste gedrückt
			if (!locked){ //wenn die maustaste noch NICHT gedrückt ist
				locked = true; //in jedem fall soll die maus gelocked werden
				for (int i = 0;i<Screen.texts.length;i++){
					if (Texting.mouseOver(Screen.mse,Screen.texts[i])){
						switch(Screen.texts[i].getText()){
						case "Start Game":
							Screen.gameState = 1;
							break;
						case "Quit Game":                            //DIESER...
							System.out.println(locked);
							System.exit(0);
							break;
						case "Quit Current Game":                 //und DIESER überschneiden sich im spiel
							Screen.gameState = 0;
							break;
						case "Continue":
							Screen.gameState = 1;
							break;
						}
					}
				}
				for(int j=0;j<Screen.soldiers.length;j++){
					if (Soldier.overlaps(Screen.soldiers[j])){
						if (!Screen.soldiers[j].selected){
							Screen.soldiers[j].selected = true;
						}
					}
				}
				
			}
		}
		if(e.getButton() == 3){
			for(int j=0;j<Screen.soldiers.length;j++){
				if(Screen.soldiers[j].selected){
					Screen.soldiers[j].selected = false;
				}
			}
		}
	}

Ich hoffe, mein Problem wird deutlich, eventuell stehe ich gerade auch nur auf dem Schlauch. Vielen Dank für Antworten... :)

P.S. es geht um ein GRAPHISCHES menü, nicht so eins wie in einer Windows App
 

Volvagia

Top Contributor
Warum machst du es so extrem kompliziert?
Mir Schleife, Textüberprüfung, Mauslock und jede menge statischer Methoden.
Mach doch einfach aus den Buttons Objekte und lass sie bei einen Klick einen Listener abfeuern. Dann wäre nicht alles so zusammen gequetscht und das Verhalten leichter zu überwachen (außerdem noch einfachere Austauschbarkeit und so weiter...)
 

J@ckWhiteIII

Mitglied
Aus welchen Buttons genau Objekte machen? Ich hab die Klasse Texting, die jeweils ein quadrat ist auf das ein String gezeichnet wird, um so dort die mausüberlappung abzufragen. Dann muss ich ja noch erfragen welcher text denn gedrückt wurde und so weiter und so fort.
Also, was genau meinst du?
 

Volvagia

Top Contributor
Das kommt drauf an, wie genau du es implementiert hast.
Aber war ja nur ein Vorschlag.

Hast du schon versucht die if zu überwachen? Wenn er 2 Case, die durch break getrennt sind nacheinander abarbeitet müsste er auch 2x in die if springen.
 

Volvagia

Top Contributor
Nein. Es sollte nur 1x mousePressed pro Klick (drücken und wieder loslassen) aufgerufen werden. (Außer du hast den Listener 2x registriert.)

Wenn ich richtig liege müsste diese if

Java:
if (Texting.mouseOver(Screen.mse,Screen.texts[i])){

2x betreten werden.
 

J@ckWhiteIII

Mitglied
Sie MÜSSTE zwei mal betreten werden oder sie WIRD DERZEIT zwei mal betreten?
Sorry für die vielen Fragen, ich bin mir gerade nicht ganz im klaren darüber was da passiert...
 

Volvagia

Top Contributor
Sie soll ja nur für einen Knopfdruck betreten werden.
Da du eine Schleife hast, die Taste darin abfragst und darin auf einen String vergleichst ist in mindestens 2 Fällen des selben Klicks in der Schleife die if true, sofern ich richtig liege. Sie sollte nur 1x true sein, da ja nur eine Taste gleichzeitig gedrückt werden kann.
Falls sie nicht 2x true ist habe ich mich geirrt und der Fehler liegt wo anderst.
Füge einfach mal ein paar Standartausgaben hinzu um die Abarbeitung rückverfolgen zu können. ^^
 

J@ckWhiteIII

Mitglied
selbst das hier funktioniert nicht:

Java:
                                                    switch(Screen.texts[i].getText()){
							case "Start Game":
								if(!locked){
									locked = true;
									Screen.gameState = 1;
								}
								
								break;
							case "Quit Game":
								if(!locked){
									locked = true;
									System.exit(0);
								}
								break;
							case "Quit Current Game":
								if(!locked){
									locked = true;
									Screen.gameState = 0;
								}
								
								break;
							case "Continue":
								if(!locked){
									locked = true;
									Screen.gameState = 1;
								}
								
								break;
							}

Wenn ich das recht verstehe, setze ich da, sobald etwas gedrückt wird locked auf true...und das ändert sich auch nicht...deshalb verstehe ich nicht, wie immer noch Quit game aufgerufen wird o_O
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Linie mit der Maus auswählen AWT, Swing, JavaFX & SWT 5
B mit maus Objekt bewegen AWT, Swing, JavaFX & SWT 3
R Swing Panel nur bei Maus sichtbar AWT, Swing, JavaFX & SWT 2
B mit Maus verschiebbares Panel AWT, Swing, JavaFX & SWT 2
C JTextField Inhalt mit Maus selektieren wenn disabled AWT, Swing, JavaFX & SWT 2
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
T Timer und GIF Animationen pausieren während Maus sich bewegt AWT, Swing, JavaFX & SWT 4
M Bild in JPanel mit Maus einfügen AWT, Swing, JavaFX & SWT 0
B Swing Form undecorated: Beim Bewegen geht die Maus immer automatisch zur linken Seite. AWT, Swing, JavaFX & SWT 7
L 2D-Grafik Bild in Richtung Maus drehen AWT, Swing, JavaFX & SWT 18
K Swing Maus in Panel einsperren AWT, Swing, JavaFX & SWT 8
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
A JFrame Größenänderung mit Maus und GridLayout AWT, Swing, JavaFX & SWT 10
D Grafiken an Maus anhängen AWT, Swing, JavaFX & SWT 2
P Pfeilpolygon per Maus rotierbar machen - Kleine Schwierigkeiten AWT, Swing, JavaFX & SWT 29
P Event Handling Gedrückte Maus Blockiert MausEvents AWT, Swing, JavaFX & SWT 2
R Swing Per Maus JLabel resizen AWT, Swing, JavaFX & SWT 6
F Maus von alleine bewegen! AWT, Swing, JavaFX & SWT 8
G Swing JPanel per Maus verschieben AWT, Swing, JavaFX & SWT 5
A SWT Tooltip soll nicht verschwinden, solange User mit Maus auf Control ist AWT, Swing, JavaFX & SWT 5
C AWT Mausbarriere Maus fangen AWT, Swing, JavaFX & SWT 10
J "Auswahlfenster" mit Maus auf JLabel zeichnen AWT, Swing, JavaFX & SWT 4
W Swing Bild zeichnen wenn Maus an bestimmter Position ist AWT, Swing, JavaFX & SWT 4
J Inaktivität von Maus und Tastatur AWT, Swing, JavaFX & SWT 4
G AWT Images aus Imagearray an die Maus pappen und bewegen AWT, Swing, JavaFX & SWT 4
F Element anzeigen / erstellen. Maus vs Controller AWT, Swing, JavaFX & SWT 7
M 3D-Grafik Bewegung mit der Maus ohne Klicken AWT, Swing, JavaFX & SWT 10
F Swing Objekte mit Maus verschieben AWT, Swing, JavaFX & SWT 8
O Swing JButton werden richtig gewechselt aber die Maus macht die alten wieder Sichtbar?? AWT, Swing, JavaFX & SWT 5
Y AWT Maus Koordinaten abspeichern in eine Textfile AWT, Swing, JavaFX & SWT 3
Weltall 7 AWT Maus-Events werden doppelt ausgeführt AWT, Swing, JavaFX & SWT 12
C permanente aktualisierung der Koordinaten der Maus auf einem Panel AWT, Swing, JavaFX & SWT 8
J maus festlegen AWT, Swing, JavaFX & SWT 6
C paintComponent mit Maus verschieben - wie? AWT, Swing, JavaFX & SWT 2
T Swing JComboBox: Listeneinträge mit der Maus verschieben AWT, Swing, JavaFX & SWT 5
O JSlider - wie unterscheide ich mit Maus verändert und durch setValue verändert. AWT, Swing, JavaFX & SWT 16
W Swing Maus Rastersprung AWT, Swing, JavaFX & SWT 3
S Swing JTable Auswahl mehrerer Zellen mit STRG+Maus AWT, Swing, JavaFX & SWT 3
E Hilfetext anzeigen beim Überfahren mit der Maus AWT, Swing, JavaFX & SWT 3
G Maus über Button AWT, Swing, JavaFX & SWT 3
S Funktion nur ausführen, wenn Maus über Componente ist AWT, Swing, JavaFX & SWT 2
G Listenelemente mit der Maus verschieben AWT, Swing, JavaFX & SWT 4
B kein MouseEvent bei zu schneller Bewegung der Maus AWT, Swing, JavaFX & SWT 7
B JTable - Wechsel der Spalte bei TAB, RETURN oder Maus AWT, Swing, JavaFX & SWT 5
D Mit der Maus in verschiedene Modi wechseln AWT, Swing, JavaFX & SWT 15
Z Buttons erscheinen erst wenn man mit der Maus drüber geht AWT, Swing, JavaFX & SWT 7
G Elemente erst da wenn mit Maus drüber gefahren bin AWT, Swing, JavaFX & SWT 2
M Kreis mit gedrückter Maus bewegen AWT, Swing, JavaFX & SWT 20
F Größenänderung mittels Maus - selbst implementieren? AWT, Swing, JavaFX & SWT 3
R Einstellen der Maus Rad Geschwindigkeit beim Scrollen AWT, Swing, JavaFX & SWT 3
G Kreis zeichnen und mit Maus ziehen AWT, Swing, JavaFX & SWT 3
W Maus Rahmen zeichnen AWT, Swing, JavaFX & SWT 10
A JFileChooser - Mehrere Dateien per Maus markieren (nokeys) AWT, Swing, JavaFX & SWT 7
V JTable Handling Fokus on Keystroke und Maus Doubleclick AWT, Swing, JavaFX & SWT 9
R JTable: Maus-Click ohne Datensätze AWT, Swing, JavaFX & SWT 9
L Größe von Komponenten im Nulllayout mit der Maus verändern. AWT, Swing, JavaFX & SWT 2
J Context Menü Maus AWT, Swing, JavaFX & SWT 3
G JTable selektion der Zeile bei Fokusieren mit der Maus AWT, Swing, JavaFX & SWT 5
T mousemoved abfrage - aber welches event wenn maus weg? AWT, Swing, JavaFX & SWT 2
lin Frame bei Drücken eines Buttons mit Maus verschieben AWT, Swing, JavaFX & SWT 7
G [AWT] Zeichnungen per Maus auswählen AWT, Swing, JavaFX & SWT 8
D Ne Maus Event Frage AWT, Swing, JavaFX & SWT 4
D Polygon mit der Maus zeichnen AWT, Swing, JavaFX & SWT 2
M Zusätzlichen Maus-Klick erzeugen AWT, Swing, JavaFX & SWT 4
T Fenster locken AWT, Swing, JavaFX & SWT 2
Juelin setzen background color für selected Row im Tableview AWT, Swing, JavaFX & SWT 21
Juelin Für Java-Spezialisten AWT, Swing, JavaFX & SWT 4
H JTabel - RowFilter Daten für Berechnung filtern AWT, Swing, JavaFX & SWT 6
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
M Vokabelprogram - Schleife für Liste soll schrittweise durchlaufen werden AWT, Swing, JavaFX & SWT 3
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
I Libraries für AWT für andere Grafik-Frameworks tauglich machen AWT, Swing, JavaFX & SWT 6
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
komplettlost Vollbildmodus für MacOs Nutzer geht nicht AWT, Swing, JavaFX & SWT 13
D JavaFX Schadensberechnung für Kartenspiel AWT, Swing, JavaFX & SWT 1
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
L actionListener für Button AWT, Swing, JavaFX & SWT 97
izoards Textfeld für Zeit AWT, Swing, JavaFX & SWT 4
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
T Getter und Setter für eine Stage AWT, Swing, JavaFX & SWT 6
P Swing Programm hängt sich bei Buttondruck auf? (GUI für "Chatbot" erstellen) AWT, Swing, JavaFX & SWT 15
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
M Hough-Transformation für Kreise und andere Formen AWT, Swing, JavaFX & SWT 3
kodela HTML-tags für JLabel AWT, Swing, JavaFX & SWT 9
E Keystroke für Ausschneiden läßt sich nicht ändern AWT, Swing, JavaFX & SWT 2
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
MiMa Package Struktur für GUI Programmierung AWT, Swing, JavaFX & SWT 26
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B eclipse für JavaFx setuppen AWT, Swing, JavaFX & SWT 4
K Swing Struktur für TreeTable rekursiv aufbauen AWT, Swing, JavaFX & SWT 17
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
H Ein Patten für das Gluon Mobile Framework AWT, Swing, JavaFX & SWT 7
J Gibt es einen Grund für 16x16 anstatt z.B. 15x15 Tiles ? AWT, Swing, JavaFX & SWT 10
F JFormattedTextField für kg und Währung AWT, Swing, JavaFX & SWT 6
V Swing für jedes Kästchen eine eigene Farbe AWT, Swing, JavaFX & SWT 2
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben