加载到JavaFX WebView组件中的完整网页的屏幕截图,不仅是可见部分

经过两年的管理工作后,我正在编写我的第一行代码。 没有时间阅读很多文档,需要在几分钟内创建一个概念validation。 因此,我必须使用JavaFX,并且需要提供允许将Web页面加载到WebView组件中的屏幕截图的function。 问题是我需要整页的屏幕截图,而不仅仅是适合当前应用程序窗口大小的那个。 这是我使用的简单代码: WritableImage image = browser.snapshot(new SnapshotParameters(), null); // browser is javafx.scene.web.WebView File file = new File(“screenshot_fx.png”); try { ImageIO.write(SwingFXUtils.fromFXImage(image, null), “png”, file); } catch (IOException e) { e.printStackTrace(); } 它基本上只捕获我在屏幕上看到的内容。 如果网页需要滚动 – 我将不会在屏幕截图上显示不可见的部分。 请建议如何进行。

如果在UI线程上运行Runnable不是一个选项,如何延迟生成的线程?

我之前的问题有问题,我不确定我的代码是否有内存泄漏。 一些答案涉及它在UI线程上运行,因此阻塞。 确实,它在UI线程上运行,并不会产生新的线程。 因此,为了解决这个问题,我使用Thread而不是Handler在UI之外生成一个新线程。 现在的问题是我无法像在UI线程中运行的那样延迟它。 这是我之前的问题,我的原始UI线程代码是: 这个Runnable是否可以防止内存泄漏? 以下是产生新线程的更新代码: package com.example.helloworld; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.widget.TextView; import android.util.Log; import java.lang.ref.WeakReference; public class HelloWorldActivity extends Activity { private static TextView txtview; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtview = (TextView) findViewById(R.id.mainview); Thread t […]

Struts 2:带点或逗号的双精度值

我不能用点(例2.2)插入双值的问题,但是我可以用逗号插入它们(例如:2,2)。 但是当我想使用(JSP和Ajax)编辑它们时,即使我用逗号存储它们,它们也会出现(点),所以我必须编辑所有值! 场景如下:我想在我的应用程序(hibernate和struts2)中编辑一些double值,我将值从action传递给JSP: private Service Service; private Vehicule v; private Map map= new HashMap(); public String query() { Service = new ServiceImpl(); v = new Vehicule(); v= Service.getVehiculeByImmat(field1); map.put(“date”, v.getdate().toString()); map.put(“kilometrage”, v.getKilometrage()); return “success”; } 然后我在我的JSP中显示它们: $(document).ready(function(){ $(‘#field1’).change(function(){ var selectedValue = $(‘#field1’).val(); if ($.trim(selectedValue).length > 0) { alert(selectedValue); $.ajax( { type: ‘POST’, url : “”, […]

消息级别Jax-WS服务

我正在尝试创建一个WebService存根。 我喜欢在一个地方对所有请求做出反应。 我有一个示例值生成器,它处理请求的类型并创建一个示例响应,因此我不需要具有大量类的代码生成器。 只是一个非常简单的。 我找到了http://jax-ws.java.net/nonav/2.2.1/docs/provider.html WebServiceProvider,它正是为了获取原始SOAP消息,并在一个地方创建响应。 主要的问题是我是这个神奇的EE世界的新手:)我无论如何都无法启动WebServiceProvider示例。 我有Spring,SpringSource ToolSuit,Axis安装/配置,所有其他的东西都工作。 谢谢大家的帮助,如果问题对你来说太简单,请原谅。 也许我只是没找到/读过的东西。 M.

spring rest data序列化为一个关联作为相关实体

如何配置Spring Data Rest 直接序列化相关实体? 我希望它看起来像这样:注意“所有者”链接是指“帐户”实体。 { “name” : “customer”, “_links” : { “self” : { “href” : “http://localhost:8081/api/v1/servers/1005” }, “owner” : { “href” : “http://localhost:8081/api/v1/account/100” } } } 当前(默认)具有间接序列化的相关实体(aka,association)。 我不希望它看起来像这样: “所有者”链接是通过自助服务器实体。 { “name” : “customer”, “_links” : { “self” : { “href” : “http://localhost:8081/api/v1/servers/1005” }, “owner” : { “href” : “http://localhost:8081/api/v1/servers/1005/owner” } } } 我检查了文档,但没有找到任何提及“直接”路线。

eclipse中的java文件相对路径

三天我试图弄清楚如何使用相对文件路径读取文件。 在eclipse中,这个编译并且工作得很好,但是当我导出app时。 它说它找不到文件。 这是我工作的截图和代码。 这段代码有效,但只有在eclipse中,它才能编译并完美地完成工作。 但是当我将其导出为runnable jar文件时,我得到一个错误,它无法找到licenca.txt BufferedReader in = new BufferedReader(new FileReader(new File(“licenca.txt”).getPath())); String str; while ((str = in.readLine()) != null) { taLicenca.append(str + “\n”); } 这是我的项目文件的屏幕截图 文件http://img207.imageshack.us/img207/5317/63432445.png 我试过使用扫描仪function,仍然是相同的结果,它在eclipse中工作,但在导出时不起作用。 这是错误消息: 错误http://img98.imageshack.us/img98/1771/greskaa.png

使用SIMPLE XML库为Android解析不同命名的元素作为单个列表

我想知道是否有使用SIMPLE XML Library for Android将col_1,col_2等作为列表而不是单独的元素处理。 我一直在阅读有关替换的内容,但我仍然感到困惑。 目前的格式: table 我希望能够将col作为某种列表解析出来,这样我就可以处理任意数量的cols。 这可能吗?

如何从没有主线程或活动的服务调用Speechrecognizer方法

我知道Stackoverflow和其他网站上有很多关于SpeechRecognizer类的链接以及如何实现它。 我经历了其中几个并搜索了几个小时。 虽然在服务中有实现的例子,但它们似乎对我不起作用。 我的应用程序有一个活动,但它只用于用户设置,并且在我的服务运行时不运行,这是与系统分开调用的。 因此,为了运行/调用SpeechRecognizer类的方法,我的服务没有任何主要的应用程序线程。 正如在android文档中所述, 这里 : ‘必须仅从主应用程序线程调用此类的方法。 当我运行我的代码,包括我的服务类中的SpeechRecognizer.startListening(mSpeechRecognizerIntent)方法时,我收到以下错误: java.lang.RuntimeException:SpeechRecognizer只能从应用程序的主线程中使用 有没有办法解决这个问题? 我已经读过SpeechRecognizer可以“在后台或服务中运行时识别语音”,我发现这里: 在Android中使用语音识别的比较:通过Intent还是on-thread? 所以这基本上是我想要的,我似乎无法启动SpeechRecognizer,因为我得到了上述错误。 你能否告诉我是否有必要在应用程序的主线程中调用以下方法(我没有): mSpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(this); mSpeechRecognizer.setRecognitionListener(new SpeechRecognitionListener()); 我的代码基本上与此链接的顶部答案中的代码相同:(没有IncomingHandler类,我相信它只用于控制监听器的时间) Android语音识别作为Android 4.1和4.2上的服务 非常感谢一些帮助,提前谢谢。 这是我的第一个Android应用程序,所以我对它很新,请耐心等待;)

netty ChannelInboundHandlerAdapter在~1500字节处削减帧

我已经实现了一个服务器应用程序,它使用netty框架使用ChannelInblundHandlerAdapter读取传入的字节。 我在标题中显示的问题是,我不定期地从客户端获取内容,我认为这样的内容在~1.500字节后被删除。 例如:在这种情况下,我应该收到一个大的JSON数组。 因为它被剪切了我无法解析它。 在使用之前,我尝试使用管道中的附加ByteToMessageDecoder通道对消息进行解码。 但这并不能解决问题。 我在JSON中没有分隔符,我可以检查并再次将两个(或更多)部分粘在一起。 这是我的管道配置: ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) .channel(NioServerSocketChannel.class) .childHandler(new ChannelInitializer() { @Override public void initChannel(SocketChannel ch) { ch.pipeline().addLast(new IdleStateHandler(45,0,0)); ch.pipeline().addLast(new MyByteToMessageDecoder()); ch.pipeline().addLast(new GatewayCommunicationHandler()); } }) .option(ChannelOption.SO_BACKLOG, 128) .option(ChannelOption.SO_RCVBUF, 8192) .childOption(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(8192)) .childOption(ChannelOption.SO_KEEPALIVE, true); initRestServer(); // Bind and start to accept incoming connections. ChannelFuture f = b.bind(Config.gatewayPort).sync(); […]

使用Com4从Java进行QC连接

我正在尝试使用以下代码连接到QC: ITDConnection2 QCconn= ClassFactory.createTDConnection(); QCconn.initConnectionEx(Parameters.QC_URL); QCconn.login(Parameters.QC_USERNAME, Parameters.QC_PASSWORD); QCconn.connect(Parameters.QC_DOMAIN, Parameters.QC_PROJECT); 但我在线上得到例外 ITDConnection2 QCconn= ClassFactory.createTDConnection(); exception:com4j.ComException:80004002 QueryInterface失败:不支持此类接口:。\ com4j.cpp:163 我在我的电脑上安装了QC。 我也在其他PC上遇到同样的错误。