【问题标题】:How to get an Applet in a table-row to size dynamically如何让表行中的 Applet 动态调整大小
【发布时间】:2010-12-05 17:17:54
【问题描述】:

我需要在表格行中插入一个小程序,并让表格行的高度根据浏览器的窗口大小动态调整大小。如果我在 td-tag 中设置宽度和高度的固定值,它会很好地显示小程序,但我需要能够根据客户端的大小能力调整它的大小,因此使用固定大小不是答案。

下面的 sn-p 应该说明我的问题所在:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JavaAppletTest </title>
    </head>

    <body bgcolor="#6f6f6f" >
        <table border="0" cellspacing="0" cellpadding="0" width="100%" >
            <tr valign="top">
                <td><img src="images/myheader.jpg" alt="myheader.jpg"></td>
                <td><img src="images/mylogo.jpg" alt="mylogo.jpg"></td>
            </tr>
            <tr >
                <td colspan="2" >
                    <object codetype="application/java"
                             classid="java:applets.MyTestApplet.class">
                        <param name="codebase" value="." >
                        <param name="archive" value="MyTestApplet.jar" >
                        <param name="code" value="applets.MyTestApplet" >
                    </object>
                </td>
            </tr>
        </table>
    </body>
</html>

我需要做什么才能使行维度动态化?

[编辑] jitter 的回答表明了一个可能的解决方案。当用户调整窗口大小时,我还需要调整相关大小:什么事件以及我该怎么做?

【问题讨论】:

    标签: html-table applet dynamic-resizing


    【解决方案1】:

    我建议使用javascript编写object/embed标签并动态计算大小。

    这基本上应该可以解决问题,但要注意获得正确的宽度和大小可能会很棘手。我推荐你Finding the size of the browser window

    ...
    <head>
    ...
      <script type="text/javascript">
        window.onresize = function(event) {
          document.getElementById('myobject_tag').height = window.innerHeight;
          document.getElementById('myobject_tag').width = window.innerWidth;
        }
      </script>
    </head>
    ...
    <body bgcolor="#6f6f6f">
      <table border="0" cellspacing="0" cellpadding="0" width="100%">
        <tr valign="top">
          <td><img src="images/myheader.jpg" alt="myheader.jpg"></td>
          <td><img src="images/mylogo.jpg" alt="mylogo.jpg"></td>
        </tr>
        <script type="text/javascript">
          var height = window.innerHeight;
          var width = window.innerWidth;
          document.write(
            '<tr><td colspan="2"><object id="myobject_tag"\n' +
            'codetype="application/java"\n' +
            'classid="java:applets.MyTestApplet.class"\n' +
            'width="' + width + '"\n' +
            'height="' + height + '"\n>' +
            '<param name="codebase" value=".">\n' +
            '<param name="archive" value="MyTestApplet.jar">\n' +
            '<param name="code" value="applets.MyTestApplet">\n' +
            '</object></td></tr>'
          );
        </script>
      </table>
    ...
    

    【讨论】:

    • 谢谢,您的脚本可以 100% 运行(在 Firefox 上)。现在我只需要调整它以使桌子适合。
    • 另外:当用户调整窗口大小时,我需要调整大小。有什么我可以使用的事件以及如何使用? (我是 Java/Web 开发的新手 - 通常使用 C++,没有人告诉您如果您了解 C++,学习 Java 很容易,但事实并非如此:Java/web-dev 更加多样化/复杂。)
    • 增强代码 sn-p.注意head中的javascript和object标签中的id标签
    • 谢谢 - 正是我需要的。 (同时得到了很好的桌子尺寸):-)
    猜你喜欢
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多