通常の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);
}
});
}
}
私はのWindows7 Professionalの64ビットの下のJava 1.6.0_23を実行しています:
は、ここに私のテストケースです。私のビデオカードはATI Radeon HD 4600です。私のコードに何か問題はありますか?私のビデオカード? JDK自体?
一般的なSun/Oracleの方法では、バグレポートは一般公開されていません。私はなぜどちらも考えていない。 – Gili