kostenloser Webspace werbefrei: lima-city


Fullscreen mit Java

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    sebastian-online

    sebastian-online hat kostenlosen Webspace.

    Hallo,

    ich habe gelesen, dass Fullscreen mit Java möglich ist.
    Mit welcher Klasse kann man das machen?


    Gruß,
    Sebastian
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. p**i

    Moin,

    Da gäbe es zwei Varianten:

    a) ganzer Desktop: per Toolkit die Desktopgröße ermitteln und auf Dein Frame anwenden
    b) maximiert: JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);

    Eins von beidem sollte Dir helfen.

    Gruß,
    Puni
  4. e********l


    a) ganzer Desktop: per Toolkit die Desktopgröße ermitteln und auf Dein Frame anwenden
    b) maximiert: JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);

    Das ist aber kein echter Fullscreen Mode. Fullscreen erzeugt man anders.

    Hier der Link zur Fullscreen Exclusive API -> http://java.sun.com/docs/books/tutorial/extra/fullscreen/index.html

    Funktioniert auch zusammen mit Swing.
  5. bei der version von puni musst du aber noch die decoration vom fenster ausschalten weiß jetzt spontan nicht wie:biggrin:
  6. p**i

    Moin,

    Joah, darauf wollte ich eigentlich auch hinaus.
    Aber wie Evil das schon richtig erkannte, ist das nur ein gefakter Fullscreen-Modus.
    Deshalb ist seine Lösung um einiges effektiver.

    Gruß,
    Puni
  7. Autor dieses Themas

    sebastian-online

    sebastian-online hat kostenlosen Webspace.

    Hallo,

    danke erstmal für eure Beiträge. Die haben mir super geholfen.

    Jetzt möchte ich das ganze noch erweitern, ich möchte das es vom Applet aus startet wie auf der Seite: www.christian-pesch.de/fullscreen/Fullscreen.html

    Beim Appletviewer funktioniert das folgende Skript nicht(Ein JFrame was im Applet geöffnet wird):

    /*
     * Bildschirm.java
     *
     * Created on 1. September 2007, 11:31
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
    
    package test;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    
    public class Bildschirm extends JFrame{
        private GraphicsDevice device;
        private boolean isFullScreen = false;
        
        /** Creates a new instance of Bildschirm */
        public Bildschirm(GraphicsDevice device) {
            super(device.getDefaultConfiguration());
            this.device = device;
            setTitle(\"Fullscreen-Fenster\");
        }
         public void initComponents(Container c) {
             c.setLayout(null);
            JButton exitPanel = new JButton(\"Exit\");
            exitPanel.setBounds(getBreite()-70,0,70,20);
            exitPanel.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent ev) {
                         System.exit(0);
                
                }
            });
            c.add(exitPanel);
            c.setBackground(Color.BLUE);
            JLabel jl = new JLabel(\"Herzlich willkommen\");
            jl.setFont(new Font(\"Arial\",Font.PLAIN,48));
            jl.setForeground(Color.WHITE);
            FontMetrics myMetrics = getFontMetrics(new Font(\"Arial\",Font.PLAIN,48));  
            int textWidth=myMetrics.stringWidth(\"Herzlich willkommen\");  
            jl.setBounds((getBreite()-textWidth)/2,(getHoehe()-48)/2,textWidth,48);
            c.add(jl);
         }
         public int getBreite(){
            DisplayMode newMode = device.getDisplayMode();
            return newMode.getWidth();
         }
         public int getHoehe(){
             DisplayMode newMode = device.getDisplayMode();
            return newMode.getHeight();
         }
        public void begin() {
            isFullScreen = device.isFullScreenSupported();
            setUndecorated(isFullScreen);
            setResizable(!isFullScreen);
            if (isFullScreen) {
                // Full-screen mode
                device.setFullScreenWindow(this);
                validate();
            } else {
                // Windowed mode
                pack();
                setVisible(true);
            }
        }
    
        
    }


    Allerdings gibt es Probleme im Browser(Firefox), der zeigt die oben genannte Seite richtig an, zeigt aber bei diesem Skript stattdessen ein kleines Fenster mit dem Button Java Applet Window an. Wenn man darauf klickt wird ein etwas größeres Fenster mit dem richtigen Inhalt angezeigt. Ich habe das ganze schon mit JDialog probiert -> gleicher Effekt.

    Gruß,
    Sebastian


    Beitrag geändert: 20.11.2007 15:44:32 von sebastian-online
  8. e********l

    Ich glaub nicht das man eine Fullscreen App aus einem Applet starten kann, da die Restriktionen bei einem Applet zu stark sind. Es bietet sich an die App via Webstart starten zu lassen, dann hat man auch viel mehr Rechte wie zb. Dateizugriffe auf die Festplatte des Users.
  9. Autor dieses Themas

    sebastian-online

    sebastian-online hat kostenlosen Webspace.

    Hallo,

    es ist doch auch ohne möglich:
    http://www.christian-pesch.de/fullscreen/Fullscreen.html

    Gruß,
    Sebastian
  10. e********l

    es ist doch auch ohne möglich:
    http://www.christian-pesch.de/fullscreen/Fullscreen.html

    Grml...du hast mich gerade veranlasst meinen Firefox mit >20 Tabs zu killen!

    1) Das ist KEIN Fullscreen, sonst hätte ich nicht meine Taskbar sehen können.
    2) Bekommt man das maximierte Fenster nicht mehr zu und muss das Browserfenster zunächst schließen, das ist sehr sehr schlecht.
    3) eine Fullscreen App ist nichts für das Web. Fullscreen Apps nur über Webstart oder das Applet erzeugt eine impliziete Fullscreen Instanz die man auch schließen kann!

    ein angesäuerte Evil
  11. Autor dieses Themas

    sebastian-online

    sebastian-online hat kostenlosen Webspace.



    evil-devil schrieb:
    es ist doch auch ohne möglich:
    http://www.christian-pesch.de/fullscreen/Fullscreen.html

    Grml...du hast mich gerade veranlasst meinen Firefox mit >20 Tabs zu killen!

    1) Das ist KEIN Fullscreen, sonst hätte ich nicht meine Taskbar sehen können.
    2) Bekommt man das maximierte Fenster nicht mehr zu und muss das Browserfenster zunächst schließen, das ist sehr sehr schlecht.
    3) eine Fullscreen App ist nichts für das Web. Fullscreen Apps nur über Webstart oder das Applet erzeugt eine impliziete Fullscreen Instanz die man auch schließen kann!

    ein angesäuerte Evil


    Hallo Evil,

    das mit dem Link tut mir Leid. Aber man kann sich doch ganz einfach mit Tastenkombinationen herausmanöfrieren. Mit Alt-D kann man das Dateimenü öffnen und dann auf Tab schließen gehen.
    (Unter Linux ist das Applet wirklich Fullscreen.)

    Gruß,
    Sebastian
  12. e********l

    Ich konnte in dem Monat nichts mehr machen, da das Applet den Firefox abgeschossen hat.
    Und auch wenn das Applet auf Linux wie ein Fullscreen aussehen mag, es ist per Definition kein Fullscreen. Denn Fullscreen Anwendungen haben den Bildschirm exklusiv bestellt und solange eine Anwendung die Bestellung bezieht kann keine andere Anwendung ohne weiteres auf den Schirm zeichnen. Das muss dann schon direkt über die API des OS geschehen.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!