Ich habe ein Fenster erstellt was in einer schleife sich wieder öffnen soll.
Sprich es soll das Fenster 5 mal aufgehen und dann soll das ganze Programm vorbei sein!
Wie könnte man so etwas machen?
hier der code vom fenster:
Code:
public class Test extends Frame
{
Test(String titel)
{
super(titel);
class schliessen extends WindowAdapter
{
public void windowClosing(WindowEvent a)
{
System.exit(0);
}
}
//Button-Instanzen erzeugen
Button ok = new Button(" OK ");
setLayout(new FlowLayout(FlowLayout.CENTER));
addWindowListener(new schliessen());
add(ok);
addWindowListener(new schliessen());
}
public static void main(String[] args){
Test fenster = new Test("Test");
fenster.pack();
fenster.setSize(Toolkit.getDefaultToolkit().getScreenSize());;
fenster.setVisible(true);
}
}
Der button soll jetzt erstmal noch keine funktion haben!
public static void main(String[] args){
for( int i = 0; i < 5; ++i )
{
Test fenster = new Test("Test");
fenster.pack();
fenster.setSize(Toolkit.getDefaultToolkit().getScreenSize());;
fenster.setVisible(true);
}
}
Darauf hätte ich eigentlich auch alleine kommen müssen! Aber jetzt noch was. Ich möchte aber das man jedes Fenster einzeln schließen muss und nicht das wenn ich eines schließe alle anderen auch zu gehen. Kann man das ich irgendwie machen?
public static void main(String[] args){
Test fenster []=new Test[5];
for(int i=0;i<fenster.length;i++){
Test fenster = new Test("Test");
fenster.pack();
fenster.setSize(Toolkit.getDefaultToolkit().getScreenSize());;
fenster.setVisible(true);}
}
}
und folgende Fehlermeldung:
Code:
init:
deps-jar:
Compiling 1 source file to /home/martin/Java_Buch/build/classes
/home/martin/Java_Buch/src/java_buch/Test.java:53: fenster is already defined in main(java.lang.String[])
Test fenster = new Test("Test");
1 error
ERSTELLEN FEHLGESCHLAGEN (Gesamtzeit: 0 Minuten 0 Sekunden)
du kannst natürlich nicht setSize(), setVisible(),... für das komplette Array setzen. dies musst du natürlich für alle Elemente tun (am besten gleich mit in der Schleife).
#edit: Es wäre bestimmt einfacher für dich, wenn du dir etwas Theorie dazu durchliest. Javainsel - Array
@ SlaterB auf das bin ich auch gekommen aber dann hab ich des selbe problem wie davor er schließt alle fenster wenn ich eins davon zu mache!!
Ich werd mir jetzt dann mal des Buch kaufen. Ich bin kein freund von so eBooks. Und werde mich dann mit dem buch einfach weiter durch Java arbeiten bis ich es endlich so versteh das ich nicht wegen lauter Basic sachen nach fragen muss.
Danke!
Und wenn es mal fertig ist schreib ich das programm hier wieder rein. Ich wollte eigentlich nur einem Freund des ding drauf machen das er beim starten davon einfach ein paar fenster schließen muss also eigentlich ein riesen schmarn aber was macht ma ned alles um dem anderen sein leben zu erschweren!
wenn ich das richtig in erinnerung habe, hat das mit dem Erstellen der 5 fenster geklappt. Lediglich beim klicken auf den Schließenbutton haben sich statt einem fenster alle verabschiedet.
Dies ist kein wunder da dein Code:
Code:
class schliessen extends WindowAdapter
{
public void windowClosing(WindowEvent a)
{
System.exit(0);
}
}
mit System.exit(0); das ganze Programm beendet und somit auch alle Fenstern.
Hier ist es vllt alternativ angebracht die Methode dispose() von Window aufzurufen