当我运行以下代码时,engine
变量设置为null
我使用OpenJDK 7(java-7-openjdk-i386
)时.
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class TestRhino {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
try {
System.out.println(engine.eval("1+1"));
} catch (ScriptException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
它java-6-openjdk
与Oracle的运行良好jre1.7.0
.知道为什么吗?
我正在使用Ubuntu 11.10.所有JVM都安装在/usr/lib/jvm
.
我尝试在我的Ubuntu上的Matlab图形图中使用希伯来字符无济于事.我试过了:
text(0.6,0.5,'????','fontname','times new roman','rotation',180,'fontsize',50,'color','r')
Run Code Online (Sandbox Code Playgroud)
和
title('????','fontname','times new roman','fontsize',50,'color','r')
Run Code Online (Sandbox Code Playgroud)
Matlab的版本为R2009b.当然我设置为UTF-8编码.
>> slCharacterEncoding
ans =
UTF-8
Run Code Online (Sandbox Code Playgroud)
我也可以通过ssh访问远程计算机,版本为R2011a.那也行不通.(我必须slCharacterEncoding('UTF-8')
)
使用javax.swing.JLabel
组件的另一个选项太难以使用我拥有的图形量.
我可以继续制作带有英文轴和标题的图表,但这很可惜.有什么建议?
编辑:根据Egon的建议,如果我可以print -deps
然后在生成的EPS文件中替换文本(来自Matlab中的代码),那也很酷.但是我不知道如何在EPS中放置Unicode,我认为这会拉伸它......
还有另一个编辑:我开始认为这是一个X服务器问题.虽然不同,但如果这些问题相关,我不会感到惊讶:
我尝试卸载Ubuntu提供的NVidia驱动程序(我有9300GS卡)并重新安装NVidia提供的驱动程序(v295).我尝试将xorg.conf中的DPI更改为"100 x 100"
.安装了HebrewLocalizationHowto中列出的所有包,然后是一些.没有任何效果.建议?
另一个编辑字体位于matlab/sys/fonts/ttf
或未matlab/sys/fonts/type1
正确呈现.当我编辑图形并双击标题时,我看到字符在那里,但是当我完成编辑时,它返回到错误的渲染.此外,用于呈现此处建议的Unicode字符的JLabel解决方案在同一图下正确呈现文本.
另一个编辑 Matlab R2011a表现出同样的问题.这是输出listfonts
>> listfonts
ans =
'aharoni'
'andale mono'
'anka clm'
'arial'
'arial black'
'avant garde gothic'
'AvantGarde'
'batang'
'bitstream charter' …
Run Code Online (Sandbox Code Playgroud) 我希望能够在网络打印机物理完成打印页面(和/或整个作业)时收到通知。这将用于我正在编写的用于通过网络进行打印管理的应用程序中,并且由于用户按每页收费,并且在页面实际完成之前费用不应下降。
我不确定这是否需要编写驱动程序、某种插件或客户端应用程序是否可以。我对我的平台很灵活,因为我的客户端还没有编写,所以我想听听任何适用于 Windows 或 Linux 的任何编程语言/级别的解决方案。
我知道假脱机程序和打印机之间存在差异。我正在尝试检查当页面或作业物理完成时,打印机可能会通过 IPP 通知机器的级别。
我目前正在研究 Java,使用jspi或cups4j包在 IPP 属性job-impressions-completed
更改时获取通知,或者轮询它。我正在使用 CUPS IPP 接口连接到本地打印机。运行一个简单的测试器(HelloPrint.java
附在下面;或CupsTest.java
包含在 cups4j 中),我没有收到任何job-impressions-completed
属性更改,也没有在我轮询时列出作业的属性。
所以这里是问题:
job-impressions-completed
属性可能未更新,特别是因为它充当真实打印机的假脱机程序。假设真正的打印机将通知或列出此属性,这是特定于打印机的还是必须任何支持 IPP 的打印机具有此属性可用和更新?系统信息:Ubuntu 11.10,CUPS 1.5.0,打印机是 Brother HL-2240D(此处提供 PPD)
注意:HL-2240D不是我将用于最终项目的打印机(具体来说,它不支持 IPP);我打算使用 HP HL4250DN 或三星 3741ND 或类似产品。
这是一个使用javax.print
包和 jspi的示例应用程序:
你好打印
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Date;
import javax.print.*;
import javax.print.attribute.*;
import …
Run Code Online (Sandbox Code Playgroud) 我想测试 IPP 应该具备的一些功能(即监控印象数;请参阅此问题),但我还没有获得硬件。我如何模拟这样的打印机?是否有虚拟 IPP 打印机的代码?
我将在 Linux 或 Windows 中工作。
我有一个标题,core/types.hh
由几个不同的构建目标使用.它有以下声明:
core/types.hh
typedef std::size_t Size;
static const Size SZ_MAX = std::numeric_limits<Size>::max();
...
Run Code Online (Sandbox Code Playgroud)
一些目标使用这个常数,有些则没有.所以我得到:
error: 'core::SZ_MAX' defined but not used"
Run Code Online (Sandbox Code Playgroud)
我在Linux上使用带有GCC 4.7.3的scons.我已经-Wall
设定并希望保持这种状态.
据我从GCC文档中了解,这不应该发出警告:
-Wunused-variable
除了声明之外,每当局部变量或非常量静态变量未使用时发出警告.此警告已启用
-Wall.
所以我不明白为什么我会收到警告(这会变成错误).
在其他答案中,建议人们进行声明extern
并在使用常量的文件中进行赋值.许多其他文件都使用此文件,因此如果我这样做,它将失去其常量.此外,这个文件有标题保护,所以我认为这应该意味着常量实际上只创建一次.
我很感激任何帮助!
尤瓦
可能重复:
我正在开发一个应该在iOS和Android设备上运行的PhoneGap/Cordova应用程序,并使用嵌入为<img/>
标签的SVG图像,使用HTML属性width=""
并height=""
设置其尺寸,并style="left: ...px; top: ...px; zoom: ...;"
设置它们的相对位置,缩放系数在多个之间均匀图像对象.
我的问题是,当放大和缩小时,图像会在Safari和Chrome中以不同的大小呈现.这也可以在这些浏览器的桌面版本中看到,我想我可以将其缩小到left
与top
CSS属性相关的舍入问题.使用zoom
CSS属性的小数值width
以及height
HTML属性时,问题会更加严重.
我在这里创建了一个demo和一个可下载的版本.在这个演示中,我使用了两个SVG图像,除了它们的填充颜色外,它们用于颜色对比.演示中有三对:最顶层使用小zoom
数值,中间使用小数width
和height
值,最后一个使用width
和height
值的圆倍数.有一个按钮可以启动动画,只需将每个步骤中的一个像素向右移动所有图像.在Chrome中很容易注意到,中间的图像大幅度地摇晃,而另外两个中的变化则更难以注意到 - 但它们也在那里.我正在使用Windows 10和Chrome 65.0 - 虽然我也可以看到Firefox和Edge中的问题变体(尽管 - 它们的呈现方式不同).
这是演示的动画.请注意,我在帧之间改变的是left
所有图像的位置 - 并且以统一的方式这样做.
对于我的应用程序,图像必须zoom
在页面上的级别和不同位置具有一致的呈现.当改变zoom
,left
并top
顺利地性能,图像应该改变的尺寸和位置顺利,尊称.更改left
和top
属性时,它们不应更改尺寸.有没有一种方法可以确保当多个图像使用相同(可能是分数)width
和height
值,但是变化left
和top
位置时,它们将被渲染为相同的?有没有办法确保zoom
属性的平滑过渡导致平滑渲染?
一个正确的答案要么解释为什么使用当前的浏览器是不可能的,指向一个描述此问题的确认的错误报告,并表明它影响任一平台中的流行设备; 或提供另一种方法来确定图像的大小和位置,同时保留使用小数值的可能性,并在所有图像使用相同尺寸时获得均匀性和平滑的变焦过渡. …
我正在尝试将网页链接到的几个图像保存到离线存储中。我在 Firefox 上使用 IndexedDB,在 Chrome 上使用 FileSystem API。我的代码实际上是一个扩展,因此在 Firefox 上我在 Greasemonkey 上运行,在 Chrome 上作为内容脚本运行。我希望这是自动化的。
当我检索图像文件时遇到问题。我正在使用标题为在 IndexedDB 中存储图像和文件的文章中的示例代码,但出现错误:我尝试下载的图像位于不同的子域上,并且 XHR 失败。
XMLHttpRequest cannot load http://...uxgk.JPG. Origin http://subdomain.domain.com is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)
在 Firefox 上我可能可以使用GM_xmlhttpRequest
并且它可以工作(当我位于同源 URL 时,代码在两种浏览器上都可以工作),但我仍然需要解决 Chrome 的问题,其中其他限制(即需要交互)主页上有框架)要求我将我的脚本合并到页面中并放弃我的特权。
所以回到我试图找出一种方法来将链接到(并且可能出现在)页面中的图像保存到 IndexedDB 和/或 FileSystem API。我要么需要了解如何解决 Chrome 中的跨域问题(如果它需要权限,那么我需要修复与 jQuery 交互的方式),要么需要某种反向createObjectURL。归根结底,我需要一个 blob (File
对象,据我所知)放入 IndexedDB (Firefox) 或写入 FileSystem API (Chrome)
帮忙,有人吗?
编辑:我的问题实际上可能归结为如何以我想要的方式使用 jQuery,而不失去 Chrome 上的内容脚本权限。如果我这样做,我也可以在 Chrome 上使用跨域 XHR 。尽管我更愿意得到一个不依赖于此的解决方案。具体来说,因为如果我将脚本合并到网页中,并且不要求它是内容脚本/用户脚本,我希望使用此解决方案。
编辑:我意识到问题只是关于跨站点请求。现在,在 @chris-sobolewski、这些 问题和其他一些页面(如 …
我有一个用Java编写的类库,想要将它转换为Javascript.所有方法都非常简单,主要与操作集合有关.我有一个类,GameControl,我可以实例化,我希望它的方法暴露给页面上的其他Javascript代码.
我想用GWT.我在GWT中有一个正在运行的项目,但是我无法弄清楚如何公开GameControl类的实例(+功能).
我认为使用JSNI来暴露我的对象应该工作,但事实并非如此.这是它现在的样子的简短版本:
GameEntryPoint.java
import com.google.gwt.core.client.EntryPoint;
public class GameEntryPoint implements EntryPoint {
private GameControl _gameControl;
@Override
public void onModuleLoad() {
_gameControl = new GameControl();
expose();
}
public native void expose()/*-{
$wnd.game = this.@game.client.GameEntryPoint::_gameControl;
}-*/;
}
Run Code Online (Sandbox Code Playgroud)
GameControl.java
package game.client;
public class GameControl {
public boolean isEmpty(int id){
// does stuff...
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
所以,GWT确实编译了代码,我发现有一个GameControl_0
对象正在构建和设置$wnd.game
,但没有isEmpty()
找到方法.
我期望的最终结果是将所有公共方法暴露window.game
为一个实例.GameControl
GameControl
我怎样才能做到这一点?
编辑
根据@jusio
回复,使用JSNI公开window
显式工作的属性,但它太冗长了.我正在尝试gwt-exporter解决方案.我现在有
GameEntryPoint.java
package game.client;
import org.timepedia.exporter.client.ExporterUtil;
import com.google.gwt.core.client.EntryPoint;
public …
Run Code Online (Sandbox Code Playgroud)