我有一个使用该object-comment-embed方法嵌入在html中的java applet .我想在调整浏览器窗口大小时调整applet的大小.我在互联网上找到了解决方案,但它们都基于已弃用的applet标签.
此外,在FireBug中setSize()对我的embed元素进行调用时,它将调整applet的内容,但不会调整applet视口的内容.也就是说,给予java的显示区域不会改变.
当前代码看起来像这样:
<object
id='MyApplet1'
width='300' height='200'
classid='clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
codebase='http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab#Version=1,6,0,0'>
<param name='type' value='application/x-java-applet;version=1.6'>
<param name='scriptable' value='false'>
<param name='codebase' value='foo'>
<param name='code' value='bar'>
<param name='archive' value='baz'>
<param name='arg1' value='A'>
<param name='arg2' value='B'>
<comment>
<embed
id='MyApplet2'
width='300' height='200'
pluginspage='http://java.sun.com/products/plugin/index.html#download'
type='application/x-java-applet;version=1.6'
scriptable='false'
codebase='foo'
code='bar'
archive='baz'
arg1='A'
arg2='B'>
<noembed>
</noembed>
</embed>
</comment>
</object>
<script type="text/javascript">
function resize() {
min_width = 300;
min_height = 200;
frame_width = 0;
frame_height = 0;
if(parseInt(navigator.appVersion) > 3) {
if(navigator.appName=='Netscape') …Run Code Online (Sandbox Code Playgroud) 我正在研究一个java applet,我想知道在Ubuntu/OpenSUSE中System.out到底在哪里.在Windows中,我只是拉起jconsole,但我没有在Ubuntu/OpenSUSE中找到它.
谢谢.
我有一个"概念证明"的作品,跨越了一些不熟悉的领域.我的任务是将EFTPOS计算机连接到在我们的Intranet上的浏览器中作为applet运行的应用程序.
我暂时忽略了EFTPOS dll并用我选择的语言(Delphi)创建了一个简单的JNI修饰DLL,它只是将字符串记录到c:\中的文本文件中,我可以从本地Java应用程序成功调用它.
但是,当我创建一个applet来做同样的事情时,将其编译成.JAR,签署JAR并尝试通过Javascript在applet中调用该方法失败.
我正在使用的一个高级Java人员并不认为有可能让它工作,因为允许applet执行此操作本身就是"邪恶的".
您可以在java.policy文件中放入一个条目以允许loadLibrary.以及allPermission&我已经尝试了这些行中的大量变体,但无法在Java控制台中产生以下错误跟踪:
java.lang.ExceptionInInitializerError
at app.TestApplet.LogAString(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin.javascript.JSInvoke.invoke(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source)
at sun.plugin.com.MethodDispatcher.invoke(Unknown Source)
at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
at sun.plugin.com.DispatchImpl$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.com.DispatchImpl.invoke(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.DLoggerImpl)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkLink(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我遇到了一个我已部署的Java applet的问题,它拒绝缓存在jvm的"粘性"缓存(或浏览器)中.出于某种原因,每次用户加载此applet所在的页面时,jvm会从服务器重新下载jar文件,这会导致长时间的延迟.
包含applet的网页正在通过互联网访问的,所以要根据Sun的Java小程序的文件我使用的是<applet>标签,而不是一个<object>或<embed>标签.
任何帮助调试或识别问题将非常感激.
以下是我正在使用的完整applet标记:
<applet alt="Scanning Applet failed to load" archive="scanning.jar"
code="scanning.scanlet.class" codebase="/java/" codetype="application/java"
height="30" mayscript="True" name="scanlet" width="200">
<param name="domain" value="192.168.12.23" />
<param name="publishName" value="scan_attachment" />
<param name="publishURL" value="http://192.168.12.23/draft/update/52" />
<param name="curURL" value="http://192.168.12.23/draft/edit/52" />
Your browser is unable to process the Java <APPLET> tag needed to display this applet
<br />
One solution would be to download a better web browser like
<a href="http://www.mozilla.com/firefox">Mozilla's Firefox</a>
</applet>
Run Code Online (Sandbox Code Playgroud) 我创建了一个java applet(.class文件)并用它创建了一个.jar并对.jar文件进行了数字签名.现在我需要在Firefox中将.jar作为applet运行.如何将html代码作为applet运行.jar文件?我尝试过它不起作用,它试图获取.class文件,如何使用Internet Explorer和Firefox中的applet标记加载和运行我的applet作为.jar文件?我在互联网上搜索,找不到答案.
除了客户端的cookie之外,有没有办法获得一些持久性数据(如XML文件左右)?我知道直接使用JavaScript是不可能的.但是像Applets或其他任何方式?
我在我的applet中使用Mozilla的网络安全服务Java(JSS),以便在我的(已签名)Java Applet和Mozilla Firefox之间进行一些低级别的交互.
我面临的第一个问题之一是如何找到当前的Firefox配置文件路径.我需要它因为我必须调用CryptoManager 的initialize(String configDir)方法,所谓的configDir必须是Firefox配置文件的目录.
如何获取当前Firefox配置文件的完整路径?是否有一个干净的方式或我必须在{$ APPDATA}/Firefox中阅读profiles.ini,解析它然后选择一个随机的配置文件(希望它只有一个,或者我得到的是正确的)?
提前致谢
请给我一些库,它们可以帮助我打印包含JBIG2编码图像的PDF文件.PDFRenderer,PDFBox不要帮助我.这些库可以打印简单的PDF,但不能打印包含JBIG2图像的PDF.PDFRenderer尝试修复它(根据PDFRedndrer的bug跟踪器上的bug问题),但仍然有些页面(特别是条形码存在的地方)不想打印.
PS我javax.print在applet中使用API
谢谢!
更新:也试过ICEPdf,太不想工作了.
我得出结论,所有这些库(PDFRenderer,ICEPdf,PDFBox)都使用 JPedalsjbig2解码器.Bug(某些页面未打印)来自此解码器库.该解码器的开源版本(用于PDFRenderer,ICEPdf,PDFBox)不再受支持,但是JPedal该项目有一个新的商业分支,他们写道,这个bug已在新的商业版本中修复,售价9美元ķ.
有任何想法吗?
更新2:昨天我试图用其他开源库取代JPedal的免费jbig2-imageio库.但是我没有取得任何成功的结果,所以我在他们项目的页面上创建了一个新主题(google-code的论坛 - 这里).将不胜感激任何帮助.
我很新,所以不要太苛刻:)
我遇到一个问题,将unicode String从嵌入javax.swing.JApplet在网页中传递到Java Script部分.我不确定这是对相关技术的错误还是误解:
我想将一个unicode字符串从Java Applet传递给Java Script,但String搞砸了.奇怪的是,问题不会发生在Internet Explorer 10中,而是发生在Chrome(v26)和Firefox(v20)中.我没有测试过其他浏览器.
返回的String似乎没问题,除了最后一个unicode字符.Java Script Debugger和Web Page中的结果是:
该字符串似乎在最后的字节中被破坏.如果它以ASCII字符结尾,则该字符串是可以的.此外,问题不是在每个组合中发生,也不是每次都发生(不确定).因此我怀疑是一个错误,我担心我可能会发布一个无效的问题.
简约设置包括一个返回一些unicode(UTF-8)字符串的applet:
/* TestApplet.java */
import javax.swing.*;
public class TestApplet extends JApplet {
private String[] testStrings = {
"abc", // OK (because ASCII only)
"??", // Error on last Character
"??", // Error on last Character
"??? ", // OK (because of *space* after ?)
"??????", …Run Code Online (Sandbox Code Playgroud) 我正在使用清单中的下一个变量部署applet:
Manifest-Version: 2.0
Ant-Version: Apache Ant 1.8.2
Trusted-Library: true
Permissions: all-permissions
Application-Name: My Applet
Codebase: *
Application-Library-Allowable-Codebase: *
Caller-Allowable-Codebase: *
Run Code Online (Sandbox Code Playgroud)
我想知道如果通过在之前的值中使用星号,我的applet(一旦部署)可以在未来的版本中被Java或Oracle列入黑名单,或者现在使用7u51(或者可能是证书可以列入黑名单).可以在这里使用星号吗?
我知道这不是最安全的措施,因为我的applet可以放在任何域中并被使用,但我必须将applet部署到一大堆不同的域,所以我只想为我控制的每个域创建一个applet (我这样做了,它适用于Java 7u40及更早版本).
谢谢您的帮助.
===更新 - Java 7u55 ===
对于Java 7u55,如果在Caller-Allowable-Codebase 变量中包含独立星号作为值,则在加载applet后将获得安全提示.更多信息:Java Blog 8u5/7u55