Я могу использовать полноэкранный эксклюзивный режим с обычными компонентами Swing, но по какой-то причине, когда я использую компоненты AWT, я вижу только черный экран в полноэкранном режиме. В Windows7, если я переключаюсь от окна (ALT-TAB), я вижу, что предварительный просмотр/эскиз окна отображается правильно. После переключения обратно в приложение я снова получаю черный экран.AWT компоненты в полноэкранном эксклюзивном режиме
Вот мой тест-случай:
import java.awt.Canvas;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import javax.swing.JFrame;
public class TestMain
{
public static void main(String[] arg)
{
EventQueue.invokeLater(new Runnable()
{
@Override
public void run()
{
final GraphicsDevice screen = GraphicsEnvironment.getLocalGraphicsEnvironment().
getDefaultScreenDevice();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().setBackground(Color.BLUE);
frame.getContentPane().setLayout(null);
frame.setUndecorated(true);
Canvas canvas = new Canvas();
canvas.setBackground(Color.RED);
canvas.setBounds(10, 10, 100, 100);
frame.getContentPane().add(canvas);
System.out.println("isFullscreenSupported=" + screen.isFullScreenSupported());
screen.setFullScreenWindow(frame);
}
});
}
}
Я бегу Java 1.6.0_23 под Windows7 Professional 64-бит. Моя видеокарта ATI Radeon HD 4600. Есть ли что-то не так с моим кодом? Моя видеокарта? Сам JDK?
В типичной форме Sun/Oracle отчет об ошибке больше не доступен для публики. Я даже не знаю, почему. – Gili