Avatar billede svuppenator Nybegynder
06. marts 2002 - 12:07 Der er 3 kommentarer og
1 løsning

skrive noget til Fullscreen i java 1.4

Jeg har er fullscreen klasse og den vil jeg gerne have skrevet noget til. Eventuelt en JFrame/JPanel med noget grafik. Det er noget jeg har fundet til et andet formål og vil gerne lave det om, men er ikek helt klar over hvad der skal ske med det.

Kode
--------------------------------------------------------
import java.awt.*;
import java.awt.image.BufferStrategy;


public class fullscreen{
   
    private static DisplayMode[] BEST_DISPLAY_MODES = new DisplayMode[] {
        new DisplayMode(640, 480, 32, 0),
        new DisplayMode(640, 480, 16, 0)};
   
    Frame mainFrame;
   
    public fullscreen(GraphicsDevice device) {
            GraphicsConfiguration gc = device.getDefaultConfiguration();
            mainFrame = new Frame(gc);
            mainFrame.setUndecorated(true);
            mainFrame.setIgnoreRepaint(true);
           
            device.setFullScreenWindow(mainFrame);
          if (device.isDisplayChangeSupported()) {
                chooseBestDisplayMode(device);           
        }
  }
 
    private static DisplayMode getBestDisplayMode(GraphicsDevice device) {
        for (int x = 0; x < BEST_DISPLAY_MODES.length; x++) {
            DisplayMode[] modes = device.getDisplayModes();
            for (int i = 0; i < modes.length; i++) {
                if (modes[i].getWidth() == BEST_DISPLAY_MODES[x].getWidth()
                  && modes[i].getHeight() == BEST_DISPLAY_MODES[x].getHeight()
                  && modes[i].getBitDepth() == BEST_DISPLAY_MODES[x].getBitDepth()
                  ) {
                    return BEST_DISPLAY_MODES[x];
                }
            }
        }
        return null;
    }
   
    public static void chooseBestDisplayMode(GraphicsDevice device) {
        DisplayMode best = getBestDisplayMode(device);
        if (best != null) {
            device.setDisplayMode(best);
        }
    }
}
--------------------------------------------------------
Avatar billede cs_henrik Nybegynder
06. marts 2002 - 21:11 #1
Hvad vil du opnå?
Vil du skrive et program, som kører i absolut fullscreen? Ikke bare et "almindeligt" vindue som er maksimeret?
Avatar billede svuppenator Nybegynder
07. marts 2002 - 13:21 #2
jeps nemlig... når nu man endelig har fået muligheden i 1.4
Avatar billede cs_henrik Nybegynder
07. marts 2002 - 13:47 #3
I så fald kan du måske bruge følgende kode som inspirationskilde. Jeg har brugt det under Windows til at finde ud af nogle af mulighederne i fullscreen exclusive mode i Java.

import java.awt.*;
import java.awt.image.*;

public final class Test extends Frame implements Runnable
{
    private BufferStrategy bufferStrategy;
   
    public Test()
    {
        setIgnoreRepaint(true);
        setUndecorated(true);
        GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
        device.setFullScreenWindow(this);
        device.setDisplayMode(new DisplayMode(800, 600, 16, 0));
        createBufferStrategy(2); //double buffer
        bufferStrategy = getBufferStrategy();
    }
       
    public final void run()
    {
        while (true)
        {
            Graphics g = bufferStrategy.getDrawGraphics();
            //Render the graphics here
            g.dispose();
            bufferStrategy.show();
           
            try
            {
                Thread.sleep(10);
            }
            catch(InterruptedException e)
            {
            }
        }
    }
   
    public static void main(String[] args)
    {
        Test test = new Test();
    }
}


Du får sikkert glæde af at læse en tutorial, så her har du et link:

http://java.sun.com/docs/books/tutorial/extra/fullscreen/index.html
Avatar billede svuppenator Nybegynder
07. marts 2002 - 14:23 #4
ok... det ser nice ud... mange tak...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester