Java Label position auslesen

Bleifrei06

Ensign
Registriert
Dez. 2007
Beiträge
174
Hi,

ich bin dabei ein applet zu schreiben und brauch dafür die position eines bestimmten labels

gibt es da einen befehl? (in entwa so: label.xposition, label.yposition)

hier noch mal der zusammenhang:

es geht um vier gewinnt
die einezlnen felder sind durch labels markiert
das label animation soll(wie der name sagt) den einwurf eines steins darstellen(also langsam von oben nach unten bewegen, bis die animation an dem stein der gesetzt wir ankommt)

Code:
for(i=40;i<=feld[x][anzahl[x]].getY();i+=1)
			{
				animation.setBounds(feld[x][anzahl[x]].getX(), i, 80, 80);
				animation.setIcon(new ImageIcon(bild));
				try
				{
					Thread.sleep(20);
				}
				catch(InterruptedException e)
				{
				}
			}

ich habs mal mit getX bzw. GetY probiert allerdings scheint das der falsche befehl zu sein

es gibt zwar eine verzögerung bis der stein gesetzt wird(die zeit wo eig die animation laufen soll) aber es wird nichts angezeigt

Freu mich auf hilfreiche antworten

MfG
Bleifrei
 
Hast du die Spielmechanik schon geschrieben? Würde mich mal interessieren, wie du das gelöst hast. Habe nämlich auch kürzlich ein 4-Gewinnt in Java geschrieben, allerdings läuft das nur Konsolenbasierend :)

Ich hasse GUI-bau in Java :freak:
 
Hast du die Spielmechanik schon geschrieben?

ne

hab bis jetzt nur die oberfläche und das setzen von steinen

gewinnabrfage und gegner hab ich noch nicht^^

kannst ja mal dein vier gewinnt hochladen^^

@CoolHandLuke

vielen dank


leider klappts immer noch nicht(die animation!)

hab als anhang mal die javadatei (musste es in doc umbenennen damit es geht)

könnt ihr euch ja mal angucken

momentan ruft jeder button das 4te feld auf(da ich nicht weiß wie man die 4 durch den index des jeweiligen buttons ersetzt)
 

Anhänge

  • rot.gif
    rot.gif
    3,3 KB · Aufrufe: 645
  • Spiel.doc
    Spiel.doc
    1,8 KB · Aufrufe: 200
Ist ein Eclipse-Projekt.

Kannst du aber natürlich auch mit dem Editor öffnen.


Bin natürlich auch auch immer offen für Verbesserungsvorschläge (auch stilistische), denn ich bin schon noch Anfänger (vor allem in Java) :)
 

Anhänge

mhh der konnte das bei mir nicht compilieren

hat control nicht gefunden


nachdem ich die class deteien rüberkopiert hab halts funktioniert^^


meins ist übrigens ein java applet
 
ah cool, interessant - aber einen Computergegenspieler gibt es wohl nicht? ;)

Jedenfalls könnte man das sogar mit mehr oder weniger Aufwand verbunden, in eine grafisch ansprechendere Version verwandeln. Maybe auch als Applet.
 
jo das ist nicht viel aufwand

guck dir meins an

da ist schon alles an grafik drin^^

nur funktionieren tuts noch nicht^^

@CoolHandLuke

kannst du in meiner setzen Methode einen fehler entdecken warum es nicht angezeigt wird?
 
Hm ja der Gegner ist das nächste Projekt^^
Da habe ich schon interessante Sachen beim googlen gefunden, aber lieber wäre es mir, mir selber etwas auszudenken, auch wenn das wahrscheinlich der 0815 Lösung ähneln wird. :)

Ich hatte auch schon eine GUI gebaut, aber ich komm in Java echt nicht klar damit, das war in Python so viel einfacher. Vor allem das Verknüpfen der Buttons mit den Funktionen hatte sich als Problem dargestellt.
 
so schonmal nicht : ;)

if(player == "Mensch")
{
bild = "rot.gif"; ....


Wenn dann so:
if(player.equals( "Mensch"))
{
bild = "rot.gif";


hmmm, warum die Animation nicht gezeichnet wird, kann ich jetzt auf die Schnelle auch nicht erkennen. Die Punkte werden aber an die Endpositionen gesetzt.
 
@cYaInH3ll


probiers mal mit dem java editor http://lernen.bildung.hessen.de/informatik/javaeditor/index.htm

damit kannst du einfach eine grafische oberfläche zusammenschieben

allerdings kannst du die felder an nicht arrayartig anlegen und der quelltext ver10facht sich

also guck dir am besten den quelltext anhand eines buttons an und programmiers dan von hand im editor

@CoolHandLuke

mit == hats auch geklappt^^

aber ich habs geändert(ich will ja sauber programmieren^^)
 
Ich habe den String-Vergleich mit == auch neulich als nicht funktionierend gesehen und deshalb ab da immer equals benutzt um Strings zu vergleichen.

Jetzt habe ich aber alle möglichen Varianten probiert (String-Array etc.) und irgendwie geht == in der Tat doch. Das verwirrt mich :/
Falls das jemand auflösen kann - wär super!
 
siehe hier:
http://hannes.halenka.net/blog/inde...g-Vergleichen-und-anderen-Design-Fehlern.html

mit "==" werden nur die Referenzen von Objekten verglichen, wenn man nicht einfache Datengtypen, wie int oder char vergleicht. Hat man jedoch solche Sachen, wie "Spieler" oder "PC" mehrern Strings zugewiesen, so zeigen alle auf das gleiche Objekt, daher funktioniert auch der Vergleich - jedoch nicht immer ;) Deswegen sollte man, um Fehler und komische Effekte zu vermeiden, equals benutzen, denn hier wird tatsächlich der Inhalt verglichen.
Code:
public class Stringtest {
	
	private final static String test3 = "test";
	
	public static void main(String args[]){
		String test = "test";
		String test2 = "test";
		test = "tes";
		test = test+"t"; // fuehrt zu false
		
		//test= "tes"+"t"; // fuehrt zu true
		System.out.println(test+"=="+test2+"? "+ (test == test2));
		System.out.println(test+"== \"test\""+"? "+ (test == "test"));
		System.out.println(test+"=="+test3+"? "+(test == test3));
		System.out.println(test2+"=="+test3+"? "+(test2 == test3));
		System.out.println(test3+"== \"test\""+"? "+ (test3 == "test"));
	}
}

test==test? false
test== "test"? false
test==test? false
test==test? true
test== "test"? true
 
Zuletzt bearbeitet: (nachtrag)
Aaaahh super, vielen Dank! :D

Immerhin ist dieses eine angesprochene Prozent mir schon mal untergekommen, sonst hätte ich das noch nicht gewusst^^

Was mich aufregt an der Beschreibung da
Doch das ist leider ein ganz falscher Ansatz: Ich habe Anfangs ganz bewusst geschrieben, dass Java fast immer die String-Objekte im Literal pool ablegt. Jetzt kann es passieren, dass aus irgend einem Grund - das würde nun zu weit gehen

gnaaaa wenn man schon mit solch einer Erklärung anfängt, dann bitte doch auch zumindest einen weiterführenden Link posten >_<

Naja ich bekomme das schon raus.
 
weiß einer von euch welche ebenen es bei den objekten gibt?

ich glaub meine animation ist immer unter den anderen labels durnter und deshalb kann man die nicht sehen

oder gibts ne andere möglichkeit?
 
Zurück
Oben