java 实现全屏显示,在网上搜了一些例子,基本上都是用setFullScreenWindow方法,但在调试运行时,退出全屏模式却会出现黑屏的问题,请教如何解决?有没有其它实现全屏的办法?请不吝赐教,谢谢!

解决方案 »

  1.   

    system.exit(1)
    通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。此方法从不正常返回。可以将变量作为一个状态码;根据惯例,非零的状态码表示非正常终止。 
    虚拟机的关闭序列包含两个阶段。在第一个阶段中,会以某种未指定的顺序启动所有已注册的关闭钩子 (hook)(如果有的话),并且允许它们同时运行直至结束。在第二个阶段中,如果已启用退出终结,则运行所有未调用的终结方法。一旦完成这个阶段,虚拟机就会暂停。 如果在虚拟机已开始其关闭序列后才调用此方法,那么若正在运行关闭钩子,则将无限期地阻断此方法。如果已经运行完关闭钩子,并且已启用退出终结 (on-exit finalization),那么此方法将利用给定的状态码(如果状态码是非零值)暂停虚拟机;否则将无限期地阻断虚拟机。 System.exit 方法是调用此方法的一种传统而便捷的方式。 
      

  2.   

    感谢各位朋友的参与,以下是网上找的代码,运行时点FullScree进入全屏时正常转换到全屏模式,但全屏时点normal返回正常模式时,就会黑屏。运行环境JDK 1.6 windowsXp。不知道大家运行的结果是不是也这样。请问大家这个问题怎么解决,谢谢!!
      

  3.   

    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    public class FullScreenTest { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    final JFrame f = new JFrame("FullScreenTest"); 
    final JButton btn = new JButton("FullScreen"); 
    btn.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    if (btn.getText().equals("FullScreen")) { 
    f.dispose(); 
    f.setUndecorated(true); //好像是去除标题栏
    f.setVisible(false);
    f.getGraphicsConfiguration().getDevice().setFullScreenWindow(f); 
    //f.setVisible(true); 
    btn.setText("NormalMode"); 

    else { 
    f.dispose(); 
    f.setUndecorated(false); 
    f.setVisible(false);
    f.getGraphicsConfiguration().getDevice().setFullScreenWindow(null); 
    f.setVisible(true); 
    btn.setText("FullScreen"); 


    });  f.getContentPane().setLayout(new FlowLayout()); 
    f.getContentPane().add(btn); 
    f.pack(); 
    f.setLocationRelativeTo(null); 
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    f.setVisible(true);
    }}
      

  4.   

    运行环境JDK 1.5
    windowsXp没有问题
      

  5.   

    没有问题啊,else中的代码你如下该一下试试: else {
    f.dispose();
    f.setUndecorated(false);
    f.setVisible(false);
    f.getGraphicsConfiguration().getDevice()
    .setFullScreenWindow(null);
    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    f.setVisible(true);
    btn.setText("FullScreen");
    }
    });

    }
      

  6.   

    没有问题。。jdk。。5.0.完毕!