Hi,
unverständlicherweise wird meine MouseEvent() methode nicht aufgerufen wenn ich auf den Bereich klicke für den sie definiert ist...
der fenster-code des Proggies ist aufgeteilt in 2 *.java datein,
eine enthält main & FensterAnzeigen Klasse,
die andere die FensterVerwaltung & die Panel-Klasse(in der addMouseListener() implementiert ist)
der code schauat in etwa so aus:
Code
[color=Red]// Datei 1[/color]
public class JGammon { //Hauptfensterklasse
static UnBugger Report = new UnBugger("report.txt"); // Report.txt als Ausgabe für "normale" Messages via UnBugger
static UnBugger ErrorLog = new UnBugger("Errorlog.txt");// errorlog.txt für fehlermeldungen via Unbugger
public JGammon(){
// Hauptfenster erzeugen
hauptfenster.setLocation();
hauptfenster.show();
}
public static void main(String[] args) {
new JGammon();
}
}
[color=Red] // Datei 2[/color]
public class Hauptfenster extends JFrame { // fenster initialisieren
JGammonPanel leinwand = new JGammonPanel(this);
public Hauptfenster() {
super();
try {
fensterEinrichten();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void fensterEinrichten() throws Exception { //Initialisierung der Komponenten
// Anwendungssymbol einrichten
java.net.URL tmp = Hauptfenster.class.getResource("img/black.gif");
if (tmp != null){
setIconImage(Toolkit.getDefaultToolkit().createImage(tmp));
JGammon.Report.msg("Icon gefunden...IconImage erzeugt");
}
leinwand.setSize(640, 480);
getContentPane().add(leinwand);
this.setSize(new Dimension(640, 480));
this.setTitle("Das Java-Millionenquiz");
this.setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class JGammonPanel extends JPanel { // Zeichenfläche (gesamter Inhalt des Fensters)
static Image black;
Hauptfenster hf;
Point MausPos;
JGammonPanel(Hauptfenster fenster) {
hf = fenster;
this.setLayout(null);
[color=Orange]addMouseListener(new MouseAdapter(){
public void MousePressed(MouseEvent e){
MausKlick(e);
};
});[/color]
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(board, 0, 0, getWidth(), getHeight(), this);
if(MausPos !=null)
{
g.drawImage(black,MausPos.x,MausPos.y,getWidth(), getHeight(), this);
}
}
void MausKlick(MouseEvent e) { // Mausevent als Point abspeichern
MausPos =new Point(e.getX(),e.getY());
};
}
Alles anzeigen
danke im Voraus
cheers
ein schlafloser