FullScreen no ***LInux*** [Resolvido]

Alguem sabe fazer fuillscreen no linux?

Procurei por posts no guj e descobri que é fullscreen pode ser obtida da seguinte forma:

setUndecorated(true);
setSize(800,600);
setExtendedState(MAXIMIZED_BOTH);
setResizable(false);
setSize(new Dimension(getToolkit().getScreenSize()));

Contudo, no Linux a aplicação toma todo espaço disponivel para uma janela, deixando aparecer no meu caso(KDE) a barra kicker, seria como a barra do menu iniciar no windows. Pensei no seguinte, estou fazendo uma tela de login, quero que fique fullscreen apenas nesse momento, e então “mataria” o processo referente ao kicker, e depois quando a aplicação estiver iniciada chamaria o kicker novamente, contudo o kicker é um aplicativo do ambiente grafico KDE, ou seja, se o usuario usar o Gnome, Xfce, blackbox… naum vai funcionar, preciso de algo portável, alguém sabe fazer?

Obrigado

http://java.sun.com/docs/books/tutorial/extra/fullscreen/index.html
Tutorial de como fazer uma tela full-screen com Java.

Olá Emanuel, obrigado pelo site, mas infelizmente naum consegui fazer o q ele mandou, lançou essa operação naum suportada…

Exception in thread “main” java.lang.UnsupportedOperationException: Cannot change display mode
at java.awt.GraphicsDevice.setDisplayMode(GraphicsDevice.java:338)
at sun.awt.X11GraphicsDevice.setDisplayMode(X11GraphicsDevice.java:348)
at Teste.main(Teste.java:39)

Olá Felix;

Fiz esse código aqui no meu linux, debian com KDE funcionou perfeitamente:

/*
 * FullScreen.java
 *
 * Created on April 12, 2007, 3:28 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 *
 * @author Emmanuel Silva
 */
public class FullScreen {
    
    /** Creates a new instance of FullScreen */
    public FullScreen() {
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice gs = ge.getDefaultScreenDevice();
        if (gs.isFullScreenSupported()) {
            // Full-screen mode is supported
        } else {
            // Full-screen mode will be simulated
        }
        
        // Create a button that leaves full-screen mode
        Button btn = new Button("OK");
        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                // Return to normal windowed mode
                GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
                GraphicsDevice gs = ge.getDefaultScreenDevice();
                gs.setFullScreenWindow(null);
            }
        });
        
        // Create a window for full-screen mode; add a button to leave full-screen mode
        Frame frame = new Frame(gs.getDefaultConfiguration());
        Window win = new Window(frame);
        win.add(btn, BorderLayout.CENTER);
        
        try {
            // Enter full-screen mode
            gs.setFullScreenWindow(win);
            win.validate();
            win.setVisible(true);
            // ...
        } finally {
            // Exit full-screen mode
        }
    }
    
    public static void main(String[] args) {
        new FullScreen();
    }
    
}

Peguei esse exemplo aqui: http://www.exampledepot.com/egs/java.awt/screen_FullWin.html

Abraços.

Cara… funcionou, obrigado msm…
comparando os dois codigos, vi que o meu erro estava no DisplayMode…
mas funcionou

Obrigado

Isso ai cara… O temor do Senhor é o principio da sabedoria!

One more thing…

Parece que no modo full Screen, os componentes ficam travados…
Tentei colocar um JTextField, mas naum consegui inserir valores nele…
Por favor, vc pode dar uma olhada?

// Create a button that leaves full-screen mode
         JButton btn = new JButton("OK");
         JTextField d = new JTextField(10);
         btn.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent evt) {
                 // Return to normal windowed mode
                 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
                 GraphicsDevice gs = ge.getDefaultScreenDevice();
                 gs.setFullScreenWindow(null);
                 System.exit(0);
             }
         });

         // Create a window for full-screen mode; add a button to leave full-screen mode
         JFrame frame = new JFrame(gs.getDefaultConfiguration());
         Window win = new Window(frame);
         win.add(d,BorderLayout.NORTH);
...

Obrigado Emmanuel!