我有一个全屏JFrame,我在我的MacBook上开发的,它运行的很好。 背景能够改变颜色和东西。 现在我把它移到我的Windows机器上,背景是白色的,当我告诉它的时候它似乎并不想改变。 为什么会这样?
这是设置我的窗户(简而言之)的代码:
JFrame frame; DisplayMode dm; frame = new JFrame(); frame.setBackground(new Color(0.3F, 0.3F, 0.3F)); dm = new DisplayMode(Main.width, Main.height, 32, DisplayMode.REFRESH_RATE_UNKNOWN); screen = new ScreenManager(); screen.setFullScreen(dm, frame);
这是全屏设置JFrames的代码。
import java.awt.DisplayMode; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Window; import javax.swing.JFrame; public class ScreenManager { public static GraphicsDevice vc; public ScreenManager() { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); vc = env.getDefaultScreenDevice(); } public void setFullScreen(DisplayMode dm, JFrame window) { window.setUndecorated(true); window.setResizable(false); vc.setFullScreenWindow(window); if (dm != null && vc.isDisplayChangeSupported()) { try { vc.setDisplayMode(dm); } catch (IllegalArgumentException e) { //No need to do anything. } catch (Exception e) { e.printStackTrace(); } } } }
我唯一能想到的是JFrame被设置为一种颜色 – 这不会做任何事情。
尝试这个
JFrame frame = new JFrame(); frame.getContentPane().setBackground(new Color(0.3F, 0.3F, 0.3F));
你会设置窗格本身的颜色,而不是只是框架。