hoffe mir kann jemand helfen.

Status
Nicht offen für weitere Antworten.

gaskuh

Mitglied
hi.

ich bin auf dem gebiet der programmierung recht neu und habe ein kleines problem....ich versuchs mal zu beschreiben:

ich will ein (nicht sichtbares) feld programmieren (850x550 pixel) hinter dem ein foto liegt. geht man nun mit der maus auf eine bestimmte stelle auf dem foto (bzw. dem feld das darüber liegt) soll man die genaue position an der sich der cursor gerade befindet angezeigt bekommen... z.B. "123x325 Pixel".

leider hab ich KEINEN plan wie man sowas programmieren könnte, wäre also für jegliche hilfe sehr dankbar!

wär super wenn mir da jemand helfen könnte,

gruß!!
 

Leroy42

Top Contributor
gaskuh hat gesagt.:
ich will ein (nicht sichtbares) feld programmieren (850x550 pixel) hinter dem ein foto liegt

Wie soll ich das verstehen? Wenn das Feld(!?) nicht sichtbar ist, und dahinter ein Foto liegt,
sieht man also das Foto. Oder wie jetzt ? :shock:

Auf jeden Fall mußt du der Komponente die das Feld(Foto) beherbergt ein MouseMotionListener
verpassen, der dann bei jeder Bewegung der Maus ein Ereignis empfängt über das du dann
die aktuellen Korrdinaten via event.getX() und event.getY() bekommst.
 

ff

Aktives Mitglied
da empfehle ich doch spontan, eclipse und das visual editor plugin zu verwenden. downloaden, installieren, rumklicken und den code studieren :)
 

mattulla

Bekanntes Mitglied
Weiss auchnicht wie du das mit dem unsichtbar meinst.....hier aber mal nen bisschen Code:

Code:
import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;



public class Test extends JFrame  implements MouseMotionListener { 
	JLabel bild;
	JLabel anzeige;
    public Test() {
    	this.setSize(800, 800);
        addWindowListener(new WindowAdapter(){ 
            public void windowClosing(WindowEvent e) { 
                System.exit(0); 
            } 
        }); 
        bild = new JLabel();
        bild.setIcon(new ImageIcon("c:\\pfad\\zu\\deinem\\bild.jpg"));
        bild.addMouseMotionListener(this);
        this.add(bild, BorderLayout.CENTER);
        anzeige = new JLabel();
        this.add(anzeige, BorderLayout.SOUTH);
        this.setVisible(true);
        
    }

    public static void main(String[] args) { 
        new Test(); 
    }
	public void mouseDragged(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	public void mouseMoved(MouseEvent arg0) {
		anzeige.setText(arg0.getX() + " x " + arg0.getY());	
	} 
}


Hoffe das hilft dir weiter!

Gruesse
mattulla
 

gaskuh

Mitglied
servus!!!

erstmal vielen dank für die schnellen antworten.

denke mit den coolen tips kann ich mir sowas basteln!!

danke!
 

gaskuh

Mitglied
wie schon gesagt bin ich in sachen java ein totaler anfänger...

wie bekomm ich denn das script von mattulla in eine html-seite integriert und zum "laufen"?
 

gaskuh

Mitglied
Mit Hilfe von SelfHTML hab ich so ein bisschen was hinbekommen...

Code:
function Ausgeben(Text) {
  var LogEintrag = document.createElement("li");
  var neuerText = document.createTextNode(Text);
  LogEintrag.appendChild(neuerText);
  document.getElementById("Log").appendChild(LogEintrag);
}


function handleBereichClick (Event) {
  var Text = "Sie haben in den Bereich geklickt. " +
    "X-Position = " + Event.clientX + ", " +
    "Y-Position = " + Event.clientY + ".";
  Ausgeben(Text);
}

function Init() {
  document.getElementById("Bereich").addEventListener("click", handleBereichClick, true);
}


Jetzt kann ich mir wenigstens anzeigen lassen, wenn ich auf eine stelle im Bild klicke, welche koordinaten sie hat. das komische ist nur, das dieses script jeweils 7-8 pixel "dazu-schwindelt". das bild ist 850 x 550 pixel groß, die äußerste stelle die ich mir so anzeigen lassen kann ist aber x-achse: 857 pixel, y-achse: 557 pixel ?!?

versteht das jemand und kann mir da helfen?
 
M

mightymop

Gast
kann es sein, dass du da javascript mit java verwechselst? ???:L
 
Status
Nicht offen für weitere Antworten.

Oben