java 实现全屏显示,退出全屏时出现黑屏的问题 java 实现全屏显示,在网上搜了一些例子,基本上都是用setFullScreenWindow方法,但在调试运行时,退出全屏模式却会出现黑屏的问题,请教如何解决?有没有其它实现全屏的办法?请不吝赐教,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 system.exit(1)通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。此方法从不正常返回。可以将变量作为一个状态码;根据惯例,非零的状态码表示非正常终止。 虚拟机的关闭序列包含两个阶段。在第一个阶段中,会以某种未指定的顺序启动所有已注册的关闭钩子 (hook)(如果有的话),并且允许它们同时运行直至结束。在第二个阶段中,如果已启用退出终结,则运行所有未调用的终结方法。一旦完成这个阶段,虚拟机就会暂停。 如果在虚拟机已开始其关闭序列后才调用此方法,那么若正在运行关闭钩子,则将无限期地阻断此方法。如果已经运行完关闭钩子,并且已启用退出终结 (on-exit finalization),那么此方法将利用给定的状态码(如果状态码是非零值)暂停虚拟机;否则将无限期地阻断虚拟机。 System.exit 方法是调用此方法的一种传统而便捷的方式。 感谢各位朋友的参与,以下是网上找的代码,运行时点FullScree进入全屏时正常转换到全屏模式,但全屏时点normal返回正常模式时,就会黑屏。运行环境JDK 1.6 windowsXp。不知道大家运行的结果是不是也这样。请问大家这个问题怎么解决,谢谢!! 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); }} 运行环境JDK 1.5windowsXp没有问题 没有问题啊,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"); } }); } 没有问题。。jdk。。5.0.完毕! 线程共享数据的问题,求赐教 解疑 怎么用CRC校验校验 请问如何使用substance.jar来改变application的界面皮肤?(本人菜鸟) 大家近来帮帮忙!!!!(新手问题) 怎么将java中的byte,Int,double,float等类型转变为gb2312编码? 再叙关于ClassLoader的问题,这个问题难倒我了,真希望有谁能给我解决,谢谢! 类继承中的问题,请大家帮忙 电脑是怎么显示正常时间的呢 请问怎么判断在控制台输出的数值,是不是数字? 各位来帮帮忙啊!! 如何在JFrame添加背景?
通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。此方法从不正常返回。可以将变量作为一个状态码;根据惯例,非零的状态码表示非正常终止。
虚拟机的关闭序列包含两个阶段。在第一个阶段中,会以某种未指定的顺序启动所有已注册的关闭钩子 (hook)(如果有的话),并且允许它们同时运行直至结束。在第二个阶段中,如果已启用退出终结,则运行所有未调用的终结方法。一旦完成这个阶段,虚拟机就会暂停。 如果在虚拟机已开始其关闭序列后才调用此方法,那么若正在运行关闭钩子,则将无限期地阻断此方法。如果已经运行完关闭钩子,并且已启用退出终结 (on-exit finalization),那么此方法将利用给定的状态码(如果状态码是非零值)暂停虚拟机;否则将无限期地阻断虚拟机。 System.exit 方法是调用此方法的一种传统而便捷的方式。
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);
}}
windowsXp没有问题
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");
}
});
}