• Wie kann ich das Fenster ohne dem Rahmen (Titelleiste, CloseOperation), Taskleiste... im Vollbildmodus anzuzeigen?

  • Hallo,

    hab das mal vor einer halben Ewigkeit im awt gemacht. Hab den Code ausgegraben, aber bei meiner absoluten Hassliebe kann ich dir beim besten Willen nicht sagen, was genau da passeiert (der Aufruf erfolgt im Konstruktor eines Frames):

    Vielleicht hilft dir das weiter. Soviel ich weiß gibt es auf der Sun HP ein größeres Tutorial, wie man die ganzen GraphicsEnvironement Sachen verwendet.

    lG el Chefe

    P.S.: Bei mir hats geklappt.

  • Wie kann ich das Fenster ohne dem Rahmen (Titelleiste, CloseOperation), Taskleiste... im Vollbildmodus anzuzeigen?

    So, mal zum eigentlichen Problem: Titelleiste und Rahmen bekommst du so weg:

    Code
    Fenster.setUndecorated(true);

    Und dann muss ich noch ein wenig sudern: ;)

    • "Klasse" ist nicht wirklich ein passender Name für eine Fensterklasse. Dass es sich hierbei um eine Klasse handelt, weiß ich eh.
    • Es ist in Java üblich, Klassennamen mit einem großen Anfangsbuchstaben zu beginnen, Paket- und Variablennamen mit einem Kleinbuchstaben (also "fenster" statt "Fenster").
    • Du kannst nicht davon ausgehen, dass auf dem System, auf dem deine Anwendung laufen soll, die Auflösung 1024x768 eingestellt ist. Du musst daher die Auflösung abrufen und die Fenstergröße auf diesen Wert festlegen:

      Code
      Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
      Fenster.setSize((int)dim.getWidth(),(int)dim.getHeight());


      (Dazu musst du java.awt.* importieren).

    • Wenn du ein komplettes Gerüst der Klasse geschrieben hättest, wär's für mich noch schneller gegangen, dir zu helfen. So muss ich erst herausfinden, dass die Klasse "Klasse" heißen soll, von "JFrame" abgeleitet wird und "javax.swing.*" importiert werden muss.

    So, jetzt hab ich aber genug gesudert. :)

  • Zitat von Paulchen

    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    Fenster.setSize((int)dim.getWidth(),(int)dim.getHeight());


    Funktioniert, danke!

    Zitat von Paulchen

    Fenster.setUndecorated(true);


    Titelleiste und Rahmen sind immer noch da und das Bild schrumpft von Vollbild auf eine minimale Größe

    Fehlercode:

    Code
    [size=10][COLOR=#ff0000]Exception in thread "main" [/COLOR][/SIZE][U][size=10][COLOR=#000080]java.awt.IllegalComponentStateException[/COLOR][/SIZE][/U][size=10][COLOR=#ff0000]: The frame is displayable.[/COLOR][/SIZE]
    [size=10][COLOR=#ff0000]at java.awt.Frame.setUndecorated([/COLOR][/SIZE][U][size=10][COLOR=#000080]Frame.java:838[/COLOR][/SIZE][/U][size=10][COLOR=#ff0000])[/COLOR][/SIZE]
    [size=10][COLOR=#ff0000]at package.Class.main([/COLOR][/SIZE][U][size=10][COLOR=#000080]Fernseher.java:19[/COLOR][/SIZE][/U][size=10][COLOR=#ff0000])[/COLOR][/SIZE]
  • Verwend mal javax.swing.JFrame statt java.awt.Frame (du verwendest ja auch javax.swing.JPanel, also warum nicht konsistent Swing verwenden?).

  • Wie ich unlängst selber erfahren musste, klappt ein Aufruf von setUndecorated(true/false) nur dann, wenn das Fenster gerade nicht angezeigt wird. Daher ->

    Code
    this.setVisible(false);
    this.dispose();
    this.setUndecorated(true);
    this.setVisible(true);


    Alternativ kann man natürlich auch den Call zu setUndecorated machen, bevor das Fenster angezeigt wird.

    "I don't think that Debian can really compete with Gentoo. Sure it might be okay, but when it comes to dependencies, you probably are still going to have to get them all on your own. Or is there something like portage in the Debian world as well?"

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!