• java.awt.headless 模式


    什么是 java.awt.headless?

    Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。

    何时使用和headless mode?

    Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)

    何使用和Headless mode?

    • 为了启用headless模式,需要使用setProperty方法去设置相应的系统属性。System.setProperty("java.awt.headless","true")
    • 如果想在一个相同的程序 中使用headless和传统环境,你可以使用下面的命令行来完成:java -Djava.awt.headless=true
    • 通过反射设置java.awt.GraphicsEnvironment中这个属性的值为true

    使用headless模式应用可以执行的操作

    • 创建轻量级组件
    • 收集关于可用的字体、字体指标和字体设置的信息。
    • 设置颜色来渲染准备图片
    • 创造和获取图像,为渲染准备图片
    • 使用java.awt.PrintJob,java.awt.print.,和javax.print.

    测试程序

    	//设置Headless模式
    	System.setProperty("java.awt.headless","true");
    	BufferedImage bi = new BufferedImage(200, 100,BufferedImage.TYPE_INT_RGB);
    	Graphics g = bi.getGraphics();
    	String s ="Headless模式测试";
    	g.drawString(newString(s.getBytes(),"GB2312"), 50, 50);
    	ImageIO.write(bi,"jpeg", new File("test.jpg"));
    
  • 相关阅读:
    U盘安装WIN10专业版
    jquery template模版引擎
    MySQL大数据量快速分页实现(转载)
    MySQL for Windows 解压缩版安装 和 多实例安装
    macbook 重装win7
    MySQL for Visual Studio Version
    VS2010中没有ado.net entity data model实体数据模型这一选项-解决办法
    修改server 2008远程桌面端口
    懒加载
    html-css 常用
  • 原文地址:https://www.cnblogs.com/senlinyang/p/8532697.html
Copyright © 2020-2023  润新知