applet打印(168分)

  • 主题发起人 主题发起人 coobo
  • 开始时间 开始时间
C

coobo

Unregistered / Unconfirmed
GUEST, unregistred user!
请问高手:
我的applet打印,为什么嵌入网页后什么反应也没有,
我已把有关java的所有安全权限都开放了,其中就包括打印
 
用的是什么浏览器。打开控制台,看看错误信息再说。
 
首先在Application中看看你的打印代码对不对。
 
还是安全问题,提示如下:
com.ms.security.SecurityExceptionEx[PrintableFrame.print]
at com/ms/security/PolicyEngine.deepCheck (PolicyEngine.java)
at com/ms/security/PolicyEngine.checkPermission (PolicyEngine.java)
at com/ms/security/StandardSecurityManager.chk (StandardSecurityManager.java)
at com/ms/security/StandardSecurityManager.checkPrintJobAccess (StandardSecurityManager.java)
at com/ms/awt/WToolkit.getPrintJob (WToolkit.java)
at PrintableFrame.print (Print1.java:48)
at ButtonActionListener.actionPerformed (Print1.java:15)
at java/awt/Button.processActionEvent (Button.java)
at java/awt/Button.processEvent (Button.java)
at java/awt/Component.dispatchEventImpl (Component.java)
at java/awt/Component.dispatchEvent (Component.java)
at java/awt/EventDispatchThread.run (EventDispatchThread.java)
User did not grant print access.
在application中代码正常运行,并可以打印。
 
1.如果你的applet用的是JDK1.1,并且期望它是在IE上运行。
Pleasdo
wnload the JDK anddo
cs from the MSdo
wnload site.
Read the section "Packaging and Distributing Software" on how to create
a signed CAB file for IE.
2.如果你的applet用的是JDK1.1,并且期望它是在netscape上运行。
Signed it with a Netscape Object Signing (NOS) certificate from Verisign
which works with Netscape Navigator.
Further info on NOS can be found at:
http://developer.netscape.com/docs/manuals/signedobj/
3.如果你的applet用的是JDK1.2,并且期望它是在plugin中运行。
Please answer this Post.I will tell you the answer.
 
我的用jdk1.3.我的机子里好像有plugin(不知安什么东西时自带了)。它的使用还需设置什么吗?
如果暂时用applet实现不了的话,我想用JavaScript(它调浏览器)的打印功能,可以吧。
但也有些我难以解决的问题:
要打印同一网页的中指定的Frame如何解决?我能控制打印机吗,如打印机的画布。
 要打印网页上的一个数据表格,很难吗?还有什么思路?(传到后台,返回一个新页?)
多谢了。。。
 
我也遇到过applet的本地安全问题,可惜没能解决,只好转用activex......
 
<p>如果你用plugin(它是在安装JDK1.3时自动安装的)。用下面的方法:<br>
1。如果你的applet所在的目录为c:/temp。<br>
在你的用户目录(user home)里建一个文件叫:&amp;quot;.java.policy&amp;quot;<br>
用NOTEPAD在里面添加以下内容:<br>
grant codeBase &amp;quot;file:c:/temp/&amp;quot;
{<br>
permission java.security.AllPermission;<br>
};<br>
2.将相应的html文件改为以下形式,将<applet>部分改为&amp;lt;OBJECT&amp;gt;部分以调用plugin。<br>
(第一次因为启动plugin,较慢,以后就快了)<br>
&amp;lt;OBJECT classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot;<br>
width=&amp;quot;200&amp;quot;
height=&amp;quot;200&amp;quot;
align=&amp;quot;baseline&amp;quot;
<br>
codebase=&amp;quot;http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0&amp;quot;&amp;gt;<br>
&amp;lt;PARAM NAME=&amp;quot;code&amp;quot;
VALUE=&amp;quot;printapplet.class&amp;quot;&amp;gt;<br>
&amp;lt;PARAM NAME=&amp;quot;type&amp;quot;
VALUE=&amp;quot;application/x-java-applet;version=1.3&amp;quot;&amp;gt;<br>
&amp;lt;PARAM NAME=&amp;quot;scriptable&amp;quot;
VALUE=&amp;quot;true&amp;quot;&amp;gt;<br>
No Java 2 SDK, Standard Edition v 1.3 support for APPLET!!<br>
&amp;lt;/OBJECT&amp;gt;<br>
</p>
 
感谢eguy的奋力相助,还得劳您。。。
codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0
这一句是从sun站点下载吗?它作何用(plugin?),能用本地得吗?
在打印时每次都弹出要你确认的小对话框,有没有方法将它隐去?
我现在的打印怎么打出一个黑块?搞不懂!
 
如果没有安装过插件的话会上那个地址去下载并安装的。安装过的就不用了。
不好意思,插问一句,这对netscape有用么?如果没用,有没有什么取代的方法。
 
。。。
Because printing is a privileged operation, you need to digitally sign the applet
(in addition to using the Netscape Capabilities API -- I'm not sure if the Netscape
Capabilities API can be used by Internet Explorer. If not, you would need to use
Java Plug-in to run an applet using this API under IE). ...
这是一段老外的话。
====================
另问:在plugin里运行的applet,为什么Background颜色改不了,总是灰色的,why?打印总为黑块
与这有关吗?
我是在applet中放一个button,一个panel,panel上显示表格,,按按钮打印panel,结果一个大黑块:(
请大家指教。
 
一、<p><font size="3" color="#400000">当用netscape时,用下面的代码转换<br>
&amp;lt;APPLET code=&amp;quot;XYZApp.class&amp;quot;
codebase=&amp;quot;html/&amp;quot;
align=&amp;quot;baseline&amp;quot;<br>
&amp;nbsp;&amp;nbsp;
width=&amp;quot;200&amp;quot;
height=&amp;quot;200&amp;quot;&amp;gt;<br>
&amp;lt;PARAM NAME=&amp;quot;model&amp;quot;
VALUE=&amp;quot;models/HyaluronicAcid.xyz&amp;quot;&amp;gt;<br>
&amp;nbsp;&amp;nbsp;&amp;nbsp;
No Java 2 SDK, Standard Edition v 1.3 support for APPLET!!<br>
&amp;lt;/APPLET&amp;gt;<br>
转换为:</font></p>
<p><font color="#800000">&amp;lt;EMBED type=&amp;quot;application/x-java-applet;version=1.3&amp;quot;
width=&amp;quot;200&amp;quot;<br>
&amp;nbsp;&amp;nbsp;
height=&amp;quot;200&amp;quot;
align=&amp;quot;baseline&amp;quot;
code=&amp;quot;XYZApp.class&amp;quot;<br>
&amp;nbsp;&amp;nbsp;&amp;nbsp;codebase=&amp;quot;html/&amp;quot;
model=&amp;quot;models/HyaluronicAcid.xyz&amp;quot;<br>
&amp;nbsp;&amp;nbsp;&amp;nbsp;pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.3/plugin-install.html&amp;quot;&amp;gt;<br>
&amp;lt;NOEMBED&amp;gt;<br>
&amp;nbsp;&amp;nbsp;
No Java 2 SDK, Standard Edition v 1.3 support for APPLET!!<br>
&amp;lt;/NOEMBED&amp;gt;<br>
&amp;lt;/EMBED&amp;gt;</font></p>
二、关于背景问题。
注意在这个applet里有三个panel类:printtable、tablepanel和scrollpane,它们之间互相包含。
在生成的时候,JVM先画printtable、再画tablepanel,最后画scrollpane,而table又放在
scrollpane里,所以printtable、tablepanel设的背景都被接下来的东东给擦掉了。
三、打印问题。
我没有打印机,无法测试。你可先在application或减少控件的情况下打一下,
最好参考一下java的打印。
 
谢谢eguy!
再请教几个问题:
1。&amp;lt;EMBED&amp;gt;在IE下能用么?(我想不能吧)
2。&amp;lt;jps:plugin&amp;gt;是不是可以自动识别browser的类型选择适当的标记
3。除了IE和netscape,其他的WebBrowser是不是也支持plugin
 
1.不能。
2.可以.
3.如opera
 
谢谢!
我得出个结论,plugin不是个好东西。
 
背景色还是不起作用,连application也是:
Applet本身就是一个Panel吧,我用了JTable,JScrollPane,Applet中直接放JScrollPane.
而myApplet.setBackground(Color.white),myTable.setBackeground(Color.white),myScrollPane.setBackground(Color.white)后,
表格下方无数据区仍是灰色,这是什么道理?
如果不用JScrollPane,而把Table直接放到Applet上则没问题。
 
coobo:
在class TablePanel extends JPanel implements ActionListener,Printable{
}里的最后添上下面的代码
table.setOpaque(false);
scrollpane.setOpaque(false);
scrollpane.getViewport().setOpaque(false);
这样之后。由于在init()里有这一句tablepanel.setBackground(Color.white);
这时的背景就是white.要设其它背景,只要改tablepanel.setBackground(Color.white);
Enjoy!
 
JJams_King:Plugin为什么不好呢。
1。可以用JFC/Swing等JAVA2特征。
2。不用考虑客户端的JVM。
SUN如此说
Full Java 2 SDK 1.3 support: Enables enterprise developers to develop and
deploy applets, taking full advantage of Java 2 SDK 1.3 features and
functionality, such as improved applet caching and security enhancements.
Future-ready Java 2 SDK Architecture: Java Plug-in software features an
architecture that makes it easy for Sun to bring new Java 2 SDK features
and functionality to Windows and Solaris desktops much more quickly than
has been previously possible.
Free publicdo
wnload and easy install: Upon encountering a web page that
specifies Java Plug-in software, the browser willdo
wnload and install all
the necessary files and render the applet, requiring minimal user intervention.
Free Java Plug-in HTML Converter: Makes it easy and automatic for IS managers
and web page authors to modify their HTML pages to specify the use of Java
Plug-in software rather than the browser's default Java runtime.
 
eguy,你好!
Java2的确是不错。事实上我一直在用Swing做Application,感觉很爽。但是,对于
plugin,我总是很担心,到现在为止我都不敢在Applet上用Swing。主要是因为:1。我
不能假定客户就一定装了plugin。2。必须在服务器上判断客户浏览器类型。3。一个星
期前我开始学Linux,觉得现在netscape的确不是很爽,我正想看看有没有什么好一点的
浏览器可以替换。我希望以后会有个标准,那样用起来会放心一点。
 
想起了我以前的一个问题,用jb的模板做了个applet,用jb执行或者appletviewer都可以看到。
但是直接用ie看不了。显示applet can't be instantiated。
不知到是什么原因?是因为用了swing 么?这时我如果将swing的东西去掉,但还是不行.
难道一定要plug_ins吗?请问ie的plugin哪里有?
谢谢!
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
886
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部