java如何改全屏为窗口?求啊啊啊啊

我们要做游戏大作业,用java在eclipse里做,下了个游戏源代码不过是全屏的,要怎么改才能把它改成窗口的哇。那个源代码里面有关全屏的代码screenmanager.j... 我们要做游戏大作业,用java在eclipse里做,下了个游戏源代码不过是全屏的,要怎么改才能把它改成窗口的哇。那个源代码里面有关全屏的代码screenmanager.java如下
import java.awt.*;
import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import java.lang.reflect.InvocationTargetException;
import javax.swing.JFrame;
public class ScreenManager {
private GraphicsDevice device;
/**
Creates a new ScreenManager object.
*/
public ScreenManager() {
GraphicsEnvironment environment =
GraphicsEnvironment.getLocalGraphicsEnvironment();
device = environment.getDefaultScreenDevice();
}

/**
Returns a list of compatible display modes for the
default device on the system.
*/
public DisplayMode[] getCompatibleDisplayModes() {
return device.getDisplayModes();
}

/**
Returns the first compatible mode in a list of modes.
Returns null if no modes are compatible.
*/
public DisplayMode findFirstCompatibleMode(
DisplayMode modes[])
{
DisplayMode goodModes[] = device.getDisplayModes();
for (int i = 0; i < modes.length; i++) {
for (int j = 0; j < goodModes.length; j++) {
if (displayModesMatch(modes[i], goodModes[j])) {
return modes[i];
}
}
}
return null;
}

/**
Returns the current display mode.
*/
public DisplayMode getCurrentDisplayMode() {
return device.getDisplayMode();
}

/**
Determines if two display modes "match". Two display
modes match if they have the same resolution, bit depth,
and refresh rate. The bit depth is ignored if one of the
modes has a bit depth of DisplayMode.BIT_DEPTH_MULTI.
Likewise, the refresh rate is ignored if one of the
modes has a refresh rate of
DisplayMode.REFRESH_RATE_UNKNOWN.
*/
public boolean displayModesMatch(DisplayMode mode1,
DisplayMode mode2)
{
if (mode1.getWidth() != mode2.getWidth() ||
mode1.getHeight() != mode2.getHeight())
{
return false;
}
if (mode1.getBitDepth() != DisplayMode.BIT_DEPTH_MULTI &&
mode2.getBitDepth() != DisplayMode.BIT_DEPTH_MULTI &&
mode1.getBitDepth() != mode2.getBitDepth())
{
return false;
}
if (mode1.getRefreshRate() !=
DisplayMode.REFRESH_RATE_UNKNOWN &&
mode2.getRefreshRate() !=
DisplayMode.REFRESH_RATE_UNKNOWN &&
mode1.getRefreshRate() != mode2.getRefreshRate())
{
return false;
}
return true;

}
具体下面网址里有
http://souljava.blog.163.com/blog/static/25557121200721591257964/
展开
 我来答
flylovepink
推荐于2017-12-16 · TA获得超过498个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:403万
展开全部
这个研究了,半上午,没办法,直接简单的改几行代码,就能变成窗体程序的,
需要重构代码的
把 ScreenManager 重构成 JFrame 或是 剥离开 ScreenManager 直接用 Jframe

如果。只是想简单的 ,变成 窗体,可以
修改 frame.setUndecorated(true) 把这个屏蔽掉

但是,你只是,临时的方法,不推荐,不能解决根本
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wh猎人
推荐于2016-11-03 · TA获得超过1125个赞
知道大有可为答主
回答量:1157
采纳率:89%
帮助的人:666万
展开全部
// 将一个Frame最大化
if (f.isUndecorated()) {// 无边框窗口
   f.setBounds(GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds());
}else{
   f.setExtendedState(f.getExtendedState() | JFrame.MAXIMIZED_BOTH);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式