当前位置: 首页 > 面试题库 >

以编程方式设置java.awt.headless = true

微生季
2023-03-14
问题内容

我正在尝试java.awt.headless=true在应用程序启动期间进行设置,但似乎为时已晚,非无头模式已经启动:

static {
    System.setProperty("java.awt.headless", "true");
    /* java.awt.GraphicsEnvironment.isHeadless() returns false */
}

除此之外,还有另一种方法让无头为真-Djava.awt.headless=true吗?我不希望在控制台上进行任何配置。


问题答案:

我正在使用一个main()类,该类在常量(和其他静态代码)中静态加载JFreeChart的不同部分。

将静态加载块移到类的顶部解决了我的问题。

这不起作用:

  public class Foo() {
    private static final Color COLOR_BACKGROUND = Color.WHITE;

    static { /* too late ! */
      System.setProperty("java.awt.headless", "true");
      System.out.println(java.awt.GraphicsEnvironment.isHeadless());
      /* ---> prints false */
    }

    public static void main() {}
  }

通过将Java移动到类的顶部,让Java尽早执行该静态块!

  public class Foo() {
    static { /* works fine! ! */
      System.setProperty("java.awt.headless", "true");
      System.out.println(java.awt.GraphicsEnvironment.isHeadless());
      /* ---> prints true */
    }

    private static final Color COLOR_BACKGROUND = Color.WHITE;

    public static void main() {}
  }

当考虑它时,这是完全有道理的:)。巨虎!



 类似资料:
  • 有没有办法以编程方式自定义这些TextInputLayout属性: textColorHint 彩色口音 颜色控制正常 颜色控制已激活 文本选择句柄 我知道如何使用主题属性对它们进行样式化,但是我正在处理的项目动态地加载颜色信息,据我所知,在运行时无法更改主题/样式值。

  • 问题内容: 有没有一种方法可以通过编程设置属性?似乎没有方法。 明确地说,我不是在谈论视图/窗口小部件样式!我在谈论以下内容: 问题答案: setTypeface是属性textStyle。 正如 Shankar V 添加的那样,要保留以前设置的字体属性,可以使用:

  • 我习惯于用JavaFx编写如下所示的代码,因为这就是我几年前学习的方式。 我最近安装了JetBrains IntelliJ IDEA Ultimate Edition 2018.1.6,我发现要打开primaryStage窗口,我需要一个fxml文件。 我必须这么做, 如果我运行第一个代码片段,什么都不会显示。但是如果我用FXMLLoader.load(getClass(). getResourc

  • 问题内容: 我的问题很简单 如何以编程方式设置我的按钮layout_gravity? 我在互联网上找到了它,但它只是抛出了一个Nullpointer异常: 有什么办法吗? 问题答案: Java Kotlin 有关重力值以及如何设置重力,请检查“重力”。 基本上,您应该选择依赖于父项。可以是等等。

  • 如何以编程方式设置属性?

  • 问题内容: 我正在尝试使用带有spring-data-mongodb的自定义转换器。我想以编程方式创建它,但是出现以下错误: 以下是失败的代码段: 这是我的转换器类: 我要坚持的课程看起来像这样: 问题答案: 这个答案对OP来说可能有点晚了,但是我今天遇到了同样的问题并找到了解决方案… 要以编程方式进行设置,您需要先调用才能使用它。通过阅读的代码,我意识到了这一点。 这是一个例子: