【问题标题】:Can I control applet font from HTML-code?我可以从 HTML 代码控制小程序字体吗?
【发布时间】:2011-10-06 19:21:36
【问题描述】:

我喜欢从小程序 (JApplet := Swing-Applet) 外部调整字体大小,从周围/调用 HTML 代码,比如

<PARAM name="java_arguments" value="-D...">   

我依稀记得,有可能用

调用经典的 Java 应用程序
java -Dsome.font.property=xy proj.App

我猜有一个从 -D-switch 到 (J)Applet-params 的映射,但我没有找到概述。如果我没记错的话,有 10 或 20 种不同的字体设置选项,菜单字体、工具提示字体、普通字体、对话框字体,而且不容易猜到哪个影响什么。

由于与编辑 HTML 并重新加载相比,重新编译类、构建新存档和重新加载页面需要更多时间,因此我更愿意在 HTML 中设置字体(等宽)和字体大小。

【问题讨论】:

    标签: java parameters font-size japplet


    【解决方案1】:

    您可以通过编程方式设置字体,从 javascript 调用一个方法到 java:

     function modifyFont(valueOfFontSize)
     {
          document.theJavaApplet.aPublicMethodInsideTheApplet(valueOfFontSize);
     }
    

    而且,如果你有一个“applet”元素,把“SCRIPTABLE”属性放在里面:

     <applet name="theJavaApplet" scriptable="true" [...etc...] ></applet>
    

    但是,如果你使用“对象”元素......

      <object [....]> 
         <param name...>
         <param name...>
         <param name...>
         <param name="scriptable" value="true">
      </object>
    

    如果这不起作用:

           <applet name="theJavaApplet" mayscript="true" [...etc...] ></applet>
    

    如果它是一个对象:

           <param name="mayscript" value="yes">
    

    【讨论】:

    • 好的,我会尝试(两者)。我不需要动态操作字体,所以我猜 modifyFont 不需要带参数 - 我只是将它与&lt;!--script ...&gt; ...&lt;/script&gt; 嵌入到小程序所在的页面中?我几乎没有 js 的经验。 mayscript="" 是空的,还是不应该是“真”?对于第二种方法,我需要两者:mayscript 和 scriptable? version 是强制性的吗?它是准确的还是至少是版本?
    • 好的,我看了。花了一些时间,因为 Firefox 不再使用我的 appletplugin。我找到了一种让它在 Opera 中工作的方法,但我的签名已过期。我怎么做签名 - 我上次做是在 10 年前! :) 好的,它正在工作,JApplet 重写(添加了 aPubMethInJapplet),html 代码重写,js 插入,但是 JS 代码是如何调用的 - 它不会自行触发。我需要一些 onLoad 什么的?我不需要一些带有动态参数传递的花哨的东西。我只需要一次调整大小。
    • 呵呵呵呵。使用:&lt;script type="text/javascript"&gt;window.onload = function(){document.theJavaApplet.aPubMethInJapplet()}&lt;/script&gt; 脚本将自行触发:P.
    • 我在 Firefox、Opera 和 appletvierwer、mayscript 和可编写脚本的情况下离线尝试了 online - 它不起作用。我在触发方法中添加了一条 System.out 消息以验证它是否被调用,但我猜 appletviewer 不执行 Javascript,并且浏览器不会通过管道传输它,即使从命令行启动也是如此。我很抱歉你的工作没有受到尊重,但既然它对我不起作用——我该怎么办?我尝试用一​​个比字体大小更易于测试的值填充 TextField,但没有成功。
    • 我做了一个 js-alert 来验证,这个 js 被调用了,确实是这样。我也没有收到错误。我使用了一个代码压缩程序 proguard,但也尝试过并且失败了。 source code is here, btw.
    猜你喜欢
    • 1970-01-01
    • 2022-08-17
    • 2011-04-08
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多