创建一个JFrame ,设置成undecorated,设置bounds为屏幕大小
成都创新互联专注于微山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供微山营销型网站建设,微山网站制作、微山网页设计、微山网站官网定制、微信平台小程序开发服务,打造微山网络公司原创品牌,更为您提供微山网站排名全网营销落地服务。
//import 如下:
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Toolkit;
import javax.swing.JFrame;
代码如下:
JFrame frame = new JFrame();
frame.setUndecorated(true);
// 取得屏幕大小
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle bounds = new Rectangle( screenSize );
frame.setBounds( bounds );
frame.setVisibale(true);
GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = environment.getDefaultScreenDevice();
device.setFullScreenWindow(this); // this == jframe instance (window子类都可以)
楼上那个只是最大化而已。 不能实现全屏。。 这个才是实现全屏。
public class MyFrame extends JFrame{
public MyFrame(){
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setTitle("全屏!"); //设置标题处的文字
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗体关闭时的操作 退出程序
double width = Toolkit.getDefaultToolkit().getScreenSize().width; //得到当前屏幕分辨率的高
double height = Toolkit.getDefaultToolkit().getScreenSize().height;//得到当前屏幕分辨率的宽
this.setSize((int)width,(int)height);//设置大小
this.setLocation(0,0); //设置窗体居中显示
this.setResizable(false);//禁用最大化按钮
}
/**
* 程序的入口点
* @param args
*/
public static void main(String[] args) {
MyFrame frame = new MyFrame();
frame.setVisible(true); //设置是否显示
}
}
这个研究了,半上午,没办法,直接简单的改几行代码,就能变成窗体程序的,
需要重构代码的
把 ScreenManager 重构成 JFrame 或是 剥离开 ScreenManager 直接用 Jframe
如果。只是想简单的 ,变成 窗体,可以
修改 frame.setUndecorated(true) 把这个屏蔽掉
但是,你只是,临时的方法,不推荐,不能解决根本
java 中如何进行全屏模式和窗口模式的转换 代码如下所示: import java.awt.Dimension; import java.awt.DisplayMode; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; @SuppressWarnings("serial") public class WindowModelSample extends JFrame { public WindowModelSample() { super("窗口/全屏模式转换例子"); final JPanel panel = new JPanel(); final JButton button = new JButton("切换模式"); panel.setLocation(0, 0); Dimension dimension = new Dimension(1024, 768); panel.setSize(dimension); panel.setMaximumSize(dimension); panel.setMinimumSize(dimension); panel.setPreferredSize(dimension); panel.setLayout(null); button.addActionListener(new ActionListener() { boolean isWindowModel = true; @Override public void actionPerformed(ActionEvent e) { if ((isWindowModel = !isWindowModel)) { // 切换为窗口模式 WindowModelSample.this.dispose(); WindowModelSample.this.setUndecorated(false); WindowModelSample.this.getGraphicsConfiguration().getDevice().setFullScreenWindow(nu ll); WindowModelSample.this.setVisible(true); } else { // 切换为全屏独占模式 WindowModelSample.this.dispose(); WindowModelSample.this.setUndecorated(true); WindowModelSample.this.getGraphicsConfiguration().getDevice().setFullScreenWindow(W indowModelSample.this); WindowModelSample.this.getGraphicsConfiguration().getDevice().setDisplayMode(new DisplayMode(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height, 16, DisplayMode.REFRESH_RATE_UNKNOWN)); WindowModelSample.this.repaint(); } } }); button.setBounds(100, 100, 100, 100); panel.add(button); setResizable(false); setLayout(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setContentPane(panel); pack(); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new WindowModelSample(); } } 上边这段代码就是关于窗口模式和全屏模式之间的切换代码,匆忙之间写的,有点简陋。