草庐IT

java - 从不可见的 AWT 组件创建图像?

我正在尝试创建一个不可见AWT组件的图像(屏幕截图)。我无法使用Robot类的屏幕捕获功能,因为该组件在屏幕上不可见。尝试使用以下代码:BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics2Dg=image.createGraphics();component.paintAll(g);有时有效,但如果组件包含文本框或按钮或某种OpenGL/3D组件(这些东西不在图像中!)之类的东西,则不起作用。如何正确截取整个画面? 最佳答案

java - 从 Java 获取有效的屏幕尺寸

我想获得有效的屏幕尺寸。即:不带任务栏的屏幕尺寸(或Linux/Mac上的等价物)。我目前正在使用...component.getGraphicsConfiguration().getBounds()...并根据操作系统减去默认任务栏大小,但我想要一种即使用户调整/移动任务栏也能正常工作的方法。 最佳答案 GraphicsEnvironment有一个方法可以返回最大可用大小,计算所有任务栏等,无论它们在哪里对齐:GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumW

java - 从 Java 获取有效的屏幕尺寸

我想获得有效的屏幕尺寸。即:不带任务栏的屏幕尺寸(或Linux/Mac上的等价物)。我目前正在使用...component.getGraphicsConfiguration().getBounds()...并根据操作系统减去默认任务栏大小,但我想要一种即使用户调整/移动任务栏也能正常工作的方法。 最佳答案 GraphicsEnvironment有一个方法可以返回最大可用大小,计算所有任务栏等,无论它们在哪里对齐:GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumW

java - 获取 HeadlessException : No X11 DISPLAY variable was set

Exceptioninthread"main"java.awt.HeadlessException:NoX11DISPLAYvariablewasset,butthisprogramperformedanoperationwhichrequiresit.atjava.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)atjava.awt.Window.(Window.java:432)atjava.awt.Frame.(Frame.java:403)atjavax.swing.JFrame.(JFram

java - 获取 HeadlessException : No X11 DISPLAY variable was set

Exceptioninthread"main"java.awt.HeadlessException:NoX11DISPLAYvariablewasset,butthisprogramperformedanoperationwhichrequiresit.atjava.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)atjava.awt.Window.(Window.java:432)atjava.awt.Frame.(Frame.java:403)atjavax.swing.JFrame.(JFram

java - 使用 java.awt.Robot 键入字符串

我已经知道如何使用java.awt.Robot通过keyPress键入单个字符,如下所示。如何将whole预定义的String值一次输入到文本框中?robot.keyPress(KeyEvent.VK_1);robot.keyPress(KeyEvent.VK_1);robot.keyPress(KeyEvent.VK_1);//instead,enterStringx="111" 最佳答案 常见的解决方案是使用剪贴板:Stringtext="HelloWorld";StringSelectionstringSelection=ne

java - 使用 java.awt.Robot 键入字符串

我已经知道如何使用java.awt.Robot通过keyPress键入单个字符,如下所示。如何将whole预定义的String值一次输入到文本框中?robot.keyPress(KeyEvent.VK_1);robot.keyPress(KeyEvent.VK_1);robot.keyPress(KeyEvent.VK_1);//instead,enterStringx="111" 最佳答案 常见的解决方案是使用剪贴板:Stringtext="HelloWorld";StringSelectionstringSelection=ne

java - 将文本内容转换为图像

是否有任何Java库允许将文本内容转换为图像文件?我只知道ImageMagick(在这种情况下为JMagick)但我不想安装任何外部二进制文件(我的应用程序将作为.war文件部署在Tomcat服务器中,因此我不想要任何其他依赖项而不是Java)。例如,从字符串“Hello”,我想生成这个简单的图像: 最佳答案 Graphics2DAPI应该能够满足您的需求。它也有一些复杂的文本处理能力。importjava.awt.Color;importjava.awt.Font;importjava.awt.FontMetrics;import

java - 将文本内容转换为图像

是否有任何Java库允许将文本内容转换为图像文件?我只知道ImageMagick(在这种情况下为JMagick)但我不想安装任何外部二进制文件(我的应用程序将作为.war文件部署在Tomcat服务器中,因此我不想要任何其他依赖项而不是Java)。例如,从字符串“Hello”,我想生成这个简单的图像: 最佳答案 Graphics2DAPI应该能够满足您的需求。它也有一些复杂的文本处理能力。importjava.awt.Color;importjava.awt.Font;importjava.awt.FontMetrics;import

java - JFrame:获得无边界的大小?

在Java中,是否可以在没有标题和其他边框的情况下获取JFrame的Width和Height?frame.getWidth()和frame.getHeight()1似乎返回了包括边框在内的宽度。谢谢。 最佳答案 frame.getContentPane().getSize(); 关于java-JFrame:获得无边界的大小?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5097