# bildschirmschoner für windows



## batou (12. Jun 2007)

Sers,

habe schon nen bissel hier im Forum gelesen und einiges interessantes zu diesem thema gefunden auch das starten via c bzw c++. war echt ein guter tipp. aber ich habe eine andere frage. dabei brauche ich echt nen bissel hilfe, weil ich eigentlich keine ahnung von java habe und einen bildschirmschoner finde ich auch schwachsinnig zu programmieren damit, aber egal! 

Habe mir hier folgenden Code zusammengestümpert im Netz!


```
import java.awt.*;
import java.awt.event.*;

public class bildschirmschoner extends Window {

       public static void main(String[] args) {
              
              final bildschirmschoner schoner = new bildschirmschoner();
              schoner.setSize(schoner.getToolkit().getScreenSize());
              schoner.setVisible(true);
    
       }

       public bildschirmschoner() {
              super(new Frame());
              setBackground(Color.red);
       }
}
```

Dazu habe ich nen paar Fragen:

1. Gibt es im Inet ne gescheite Seite die mir die einzelnen Befehle erklärt?
2. was genau macht final bildschirmschoner schoner= new bildschirmschoner?
3. was wirklich wichtig wäre, wie bewerkstellige ich es, das wenn ich eine beliebige Taste drücke, das dann sich das ganze fenster wieder schließt?


----------



## Wildcard (12. Jun 2007)

1. Es gibt in Java keine Befehle sondern nur Methoden.
Hier sind alle erklärt:
http://java.sun.com/javase/6/docs/api/
2.Erzeugt ein neues Objekt der Klasse bildschirmschoner (Klassen werden übrigens groß geschrieben).l
3.Stichwort KeyListener


----------



## batou (12. Jun 2007)

ok, gut vielen dank erstmal ... Klassen  hmm, nobody is perfect
ich glaube ich melde mich später nochmal!


----------



## batou (12. Jun 2007)

```
public static void main(String[] args) {
              
              final bildschirmschoner schoner = new bildschirmschoner();
              schoner.setSize(schoner.getToolkit().getScreenSize());
              schoner.setVisible(true);
              schoner.addKeyListener(
                  new KeyAdapter() {
                    public void keyPressed(KeyEvent event)
                    {
                       schoner.setVisible(false);
                       schoner.dispose();
                       System.exit(0);
                    }
                  }
              );
    
       }
```

dann sollte das ja irgendwie so aussehen, denke ich mir, geht aber irgendwie nicht?


----------



## Wildcard (12. Jun 2007)

Versuch mal so:

```
public static void main(String[] args) {
             
              final bildschirmschoner schoner = new bildschirmschoner();
              schoner.setSize(schoner.getToolkit().getScreenSize());
              schoner.setVisible(true);
              Component cp = schoner.getContentPane();
              cp.setFocusable(true);
              cp.requestFocusInWindow();
              cp.addKeyListener(
                  new KeyAdapter() {
                    public void keyPressed(KeyEvent event)
                    {
                       schoner.setVisible(false);
                       schoner.dispose();
                       System.exit(0);
                    }
                  }
              );
   
       }
```


----------



## batou (13. Jun 2007)

hallo nochmal,

auch nach langem probieren um suchen geht es leider noch immer nicht. der compiler meldet sich mit cannot resolve symbol

symbol: method getContentPane() ??


----------



## merlin2 (13. Jun 2007)

Wenn bildschirmschoner sich von Window ableitet, hat er natürlich kein ContentPane. Vielleicht solltest du auf Swing umsteigen (und deine Klassennamen großschreiben, obwohl letzteres mit dem Fehler nichts zu tun hat).


----------



## Gast (13. Jun 2007)

Sry, aber ich habe oben schon geschrieben, das ich nicht so viel Ahnung habe von Java. Was meinst du mit auf Swing umsteigen?


----------



## batou (13. Jun 2007)

ähm, joa habe immer noch das problem das es nicht geht mit den tasten? wie bekomm ich das hin?


----------



## merlin2 (14. Jun 2007)

Nimm ein JWindow.


----------



## Ullenboom (14. Jun 2007)

Hallo batou,

vielleicht interessiert dich ja auch https://screensavers.dev.java.net/.

Grüße

 Christian


----------



## batou (14. Jun 2007)

aha, das sind screensaver aber den code sehe ich ja da auch nicht. JWindow gibt es nicht wenn ich das einstelle sagt er das er es nicht kennt.


----------



## batou (14. Jun 2007)

batou hat gesagt.:
			
		

> aha, das sind screensaver aber den code sehe ich ja da auch nicht. JWindow gibt es nicht wenn ich das einstelle sagt er das er es nicht kennt.



War doch etwas voreilich! Aber es it wirklich egal jetzt. Dazu brauche ich mehr Zeit um mich mit den SaverBeans zu beschäftigen. Sagt mir bitte nur eine Möglichkeit für nachfolgenden Code um das Fenster zu schliessen wenn irgendeine beliebige taste gedrückt wird keine spezielle irgendeine, das reicht mir schon voll und ganz. bitte.


```
import java.awt.*;
import java.awt.event.*;

public class schoner extends Window {

  public static void main(String[] args) {

    final schoner wnd = new schoner();
    wnd.setLocation(new Point(0,0));
    wnd.setSize(wnd.getToolkit().getScreenSize());
    wnd.setVisible(true);
    
  }

  public schoner() {
  
    super(new Frame());
    setBackground(Color.black);
    
  }

}
```


----------



## merlin2 (14. Jun 2007)

batou hat gesagt.:
			
		

> JWindow gibt es nicht wenn ich das einstelle sagt er das er es nicht kennt.


JWindow gibt es, aber du musst einen Import hinzufügen:

```
import javax.swing.*;
```


----------



## batou (14. Jun 2007)

jetzt sagt er mir das contentpane non static ist und nicht im einklang mit static context gebracht werden kann. was muss ich jetzt noch ändern?


----------



## merlin2 (15. Jun 2007)

Klingt so, als hättest du das in die main-Methode geschrieben. Es gehört in den Konstruktor.


----------

