- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我制作了这个 beanShell 脚本,通过按下按钮来获取递增的屏幕截图,现在我正在尝试弄清楚如何在 Jython 中使用 Java 来执行此操作以获取实际的屏幕截图(因为它是跨平台的)。
不过我做得不太好,想知道是否有人可以向我展示如何将 Java 部分插入到 Jython 部分中(我已经准备好 gui 和事件 - 见下文)?
这是 Java 部分...
Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();
Robot robot = new Robot();
Rectangle rect = new Rectangle(0, 0, scr.width, scr.height);
BufferedImage image = robot.createScreenCapture(rect);
ImageIO.write(image, "jpeg", new File("Captured" + c + ".jpg"));
这是整个 beanShell 脚本
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
int c = 0; // image counter
buttonHandler = new ActionListener() {
actionPerformed( this ) {
Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();
// Allocate a Robot instance, and do a screen capture
Robot robot = new Robot();
Rectangle rect = new Rectangle(0, 0, scr.width, scr.height);
BufferedImage image = robot.createScreenCapture(rect);
// Save the captured image to file with ImageIO (JDK 1.4)
ImageIO.write(image, "jpeg", new File("Captured" + c + ".jpg"));
c++;
}
};
button = new JButton("Click to save incrementing screenshots to this app's location");
button.addActionListener( buttonHandler );
// JLabel label1 = new JLabel("hello");
frame(button);
这是我迄今为止拥有的 Jython 脚本...
from javax.swing import JButton, JFrame
from java.awt import Toolkit
from java.awt.event import KeyEvent;
from java.awt.image import BufferedImage;
from javax.imageio import ImageIO;
from java.io import File, IOException
c = 0
frame = JFrame(
'App Title',
defaultCloseOperation = JFrame.EXIT_ON_CLOSE,
size = (450, 60)
)
def change_text(event):
global c
...
// Java part
...
c = c + 1
button = JButton(
"Click to save incrementing screenshots to this app's location",
actionPerformed=change_text
)
frame.add(button)
frame.visible = True
谢谢:)
最佳答案
将 Java 代码片段包装在公共(public) Java 类中:
package com.mycompany;
public class ScreenshotEngine {
public void takeScreenshot(String filename) {
// Code that actually takes the screenshot and saves it to a file
}
}
记住编译它并使其在应用程序的类路径上可用。
然后,从 jython 脚本中,您可以像任何其他 Java 类一样使用它。
# Using the fully qualified name of the class
engine = com.mycompany.ScreenshotEngine()
engine.takeScreenshot('/tmp/sc1.png')
# You can also use import to shorten class names
from com.mycompany import ScreenshotEngine
engine = ScreenshotEngine()
engine.takeScreenshot('/tmp/sc2.png')
您知道如何在上面的代码片段中使用 JDK 中的 JButton
和 JFrame
吗?这是同样的事情。
关于java - 如何将 Java 代码嵌入到 jython 脚本中。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874441/
我创建了一个 Jython 应用程序,我想将其分发给我的 friend 。我不希望他们必须自己安装 Jython。他们只安装了 Java SE (JRE),而我想以一种只需双击文件即可运行该应用程序的
我写了一个Java例子,代码是: import org.python.core.PyObject; import org.python.util.PythonInterpreter; import j
我正在尝试对 Windows 使用复制命令,并且我们有 c:\oracle 等目录。 在尝试执行这样的一个时,我们收到以下错误: source_file=folder+"\"
我想知道是否有人在安装程序自动化期间通过 UAC 弹出窗口实现自动化? 我有一个现有的自动安装程序代码,但由于 Sikuli 在此步骤中未使用键盘/鼠标,它在 UAC 区域失败... 有人在这里有运气
您好,我正在尝试使用 jython 建立 mysql 数据库连接。我正在使用 Python 3.3.2 和 Jython 2.5.3 我的代码是这样的: import sys from java.sq
我正在用 python 编写一个与 ldap 服务器通信的包。我希望它在 CPython 和 Jython 中工作。为了让它与 CPython 一起工作,我已经成功地针对 python-ldap 进行
我从 jython.org 下载了 jython_installer-2.5.2.jar。 打开终端并输入以下命令:- java -jar jython_installer-2.5.2.jar 它安装
我正在尝试在 Jython 上使用 pytest。我一开始就被卡住了。 我已经使用easy_install成功安装了pytest包: $ ./jython easy_install pytest 当我
我正在尝试将 jython 程序打包到一个可执行 jar 中,用户只需双击即可运行,而无需提前安装 jython。最终,我想包含一个我用 jar 编写的附加库,但目前我只是想打包一个简单的程序并让它从
我正在使用 jython 并调用一些自定义 Java API,我添加了我需要的所有 jar 或我在我的代码中使用的 jython 仍然提示一个类,因为它找不到 (NoClassDefFoundErro
我有一个使用 urllib2 通过 https 协议(protocol)获取页面的 python 程序: urllib2.urlopen('https://mywebsite') 我使用 python
Jython 2.5 默认带有 JLine。 我更愿意将交互式解释器与 rlwrap 一起使用.如果 JLine 处于事件状态,rlwrap 似乎不起作用。 在 Scala 中,我会使用 rlwrap
我在安装 numpy-1.6.1 时遇到问题。它说 NotImplementedError 我使用 eclipse 和 jython 进行开发。 命令窗口: C:\Program Files\jyth
现在有人知道 sympy 0.7.1 是否可以与 Jython 一起使用吗? 最佳答案 不,它不起作用 - 我认为它甚至不导入。有an open issue for this在 sympy 的错误跟踪
我是 Jython 的新手。我从这里下载了一个 jar 文件 http://www.jython.org/downloads.html 下载 Jython 2.7beta1 - jython.jar
我在我的java应用程序中以编程方式使用jython解释器(PythonInterpreter),并且我想添加一个特定的类,例如。 MyJythonLib 作为 Jython 导入模块,以便我的 Jy
我想像这样使用循环变量定义一个路径: for i in range(2,4): click("1480530304554.png") wait("1480531095180.png")
我有几个关于 WLST 和 Jython 的问题: 操作系统:Unix/Linux 情况: 1) 无法包含wlst-file使用 writeIniFile 创建自动 2) 使用 org.python.
我创建了一个默认的 Maven Java 项目并添加了以下依赖项: org.python jython 2.7.0 然后我创建了一个包src/main/java/mypkg并添加了此类
聪明的人, 我想在我的 jython 程序中使用很棒的请求模块。它在 python 中安装和运行得很好,但我无法在 jython 中安装它。我已经在 mac 和 ubuntu 上尝试了 Jython
我是一名优秀的程序员,十分优秀!