【问题标题】:Why is the background of a swing window changing on Mac and not on Windows?为什么摆动窗口的背景在 Mac 上发生变化而不在 Windows 上发生变化?
【发布时间】:2012-06-02 00:17:18
【问题描述】:

我有一个在 MacBook 上开发的全屏 JFrame,它运行良好。背景能够改变颜色和东西。现在我把它移到我的 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();
            }
        }
    }
}

【问题讨论】:

  • 我怀疑这可能与您编写的代码有关。
  • 请附上SSCCE,我们可以提供更多帮助。
  • 不完全是最短的代码 sn-p,但您应该能够从那里看到发生了什么。基本上在 Mac 上,你会得到我指定的漂亮的灰色,而在 Windows 上,你会得到非常难看的白色。后来在我的代码中,我设置了不同的颜色,但这在 Windows 机器上也没有改变。

标签: java windows macos swing awt


【解决方案1】:

我唯一能想到的是 JFrame 被设置为一种颜色——这不会做任何事情。

试试这个

JFrame frame = new JFrame();
frame.getContentPane().setBackground(new Color(0.3F, 0.3F, 0.3F));

您将设置窗格本身的颜色,而不仅仅是框架。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    • 2014-06-12
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多