das was im hintergrund geschieht ist eher unwichtig
diese klasse ist wie man sieht NICHT abstract.
ist so, weil ich abstrakte klassen nicht durch eine main methode starten kann.
ich benutze auch keine buttons, da dies mit der sum-maus kollidiert
nun möchte ich das programm durch "close" beenden, aber es kommt die fehlermeldung, die oben bei der klasse im kommentar angezeigt ist.
kann aber auch nicht einfach die klasse abstrakt machen weil das dann halt mit der main nicht klappt,
das gleiche problem habe ich auch, wenn ich mouse listener einfügen will, deswegen diese komische abfrage.
also:
wie bekomm ich es hin, das ich sowohl die main methode habe, als auch die close methode
ich weis das höhrt sich alles komisch und verwirrend an, aber um 5uhr morgens... ich versuch notfalls eine bessere version rauszuposaunen, wennn ich wach bin...
ps: java rafft mich hin, wieso braucht nen mouse listener ne abstrakte klasse,(oder mach ich hier fehler) /leider hab ich davon im moment kein quelltext bereit/,mir macht es nur sinn, ein event in der ausführenden klasse zu haben, die ja nicht abstrackt seien kann wegen dem main kram
wenn es möglich ist hier auch helfen...
also ich versuch nochmal ne bessere version dieses posts rauszuhaun, aber ich machs erstmal so weil ichs sonst eh wieder vergess^^
Java:
import sum.kern.*;
import java.awt.event.*;
import java.io.*;
/**
* @author
* @version
*/
class Spiel implements Closeable //Spiel is not abstract and does not override abstract method close() in java.io.Closable
{
// Bezugsobjekte
Menu menu;
Maus maus;
static Spiel meineAnwendung;
// Attribute
// Konstruktor
public Spiel ()
{
Bildschirm bild= new Bildschirm(500,500);
bild.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
menu = new Menu();
maus = new Maus();
}
// Dienste
public static void main(String args[])
{
meineAnwendung = new Spiel();
meineAnwendung.test();
}
public void test() throws java.io.IOException
{
boolean end = false;
menu.rufeAuf(); //thread wird gestartet um benue zu zeichnen
do
{
while(!maus.istGedrueckt())// meine abfrage, welcher button gedrückt wird
{}
if (maus.hPosition()>=100&&maus.hPosition()<=200&&maus.vPosition()>=95&&maus.vPosition()<=130) //anderer button gedrückt
{
end=true;
menu.rufeAb();
}else if (maus.hPosition()>=300&&maus.hPosition()<=400&&maus.vPosition()>=95&&maus.vPosition()<=130) //anderer button gedrückt
{
end=true;
menu.rufeAb();
}else if (maus.hPosition()>=100&&maus.hPosition()<=200&&maus.vPosition()>=195&&maus.vPosition()<=230) //anderer button gedrückt
{
end=true;
menu.rufeAb();
}else if (maus.hPosition()>=300&&maus.hPosition()<=400&&maus.vPosition()>=195&&maus.vPosition()<=230) // close-button gedrückt
{
end=true;
menu.rufeAb();
close();
}
}while(end==false);
}
}
diese klasse ist wie man sieht NICHT abstract.
ist so, weil ich abstrakte klassen nicht durch eine main methode starten kann.
ich benutze auch keine buttons, da dies mit der sum-maus kollidiert
nun möchte ich das programm durch "close" beenden, aber es kommt die fehlermeldung, die oben bei der klasse im kommentar angezeigt ist.
kann aber auch nicht einfach die klasse abstrakt machen weil das dann halt mit der main nicht klappt,
das gleiche problem habe ich auch, wenn ich mouse listener einfügen will, deswegen diese komische abfrage.
also:
wie bekomm ich es hin, das ich sowohl die main methode habe, als auch die close methode
ich weis das höhrt sich alles komisch und verwirrend an, aber um 5uhr morgens... ich versuch notfalls eine bessere version rauszuposaunen, wennn ich wach bin...
ps: java rafft mich hin, wieso braucht nen mouse listener ne abstrakte klasse,(oder mach ich hier fehler) /leider hab ich davon im moment kein quelltext bereit/,mir macht es nur sinn, ein event in der ausführenden klasse zu haben, die ja nicht abstrackt seien kann wegen dem main kram
wenn es möglich ist hier auch helfen...
also ich versuch nochmal ne bessere version dieses posts rauszuhaun, aber ich machs erstmal so weil ichs sonst eh wieder vergess^^