<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-->

<html>
<head>
        <title>NetBeans IDE 中的 JavaFX 支持视频</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css"> 
        <meta name="description" content="This screencast demonstrates some new JavaFX related features implemented in NetBeans IDE 7.4.">
</head>
<body>
    

<h1>NetBeans IDE 中的 JavaFX 支持视频</h1>

<table>
<tr>
<td class="valign-top">

<p>此截屏视频演示了在 NetBeans IDE 7.4 中实现的以下 JavaFX 相关功能</p>
<ul>
<li>JavaFX 运行时类路径</li>
<li>JavaFX 和 Java SE 项目的对齐方式</li>
<li>JavaFX Maven 项目模板</li>
<li>Maven 项目中的 JavaFX 文件类型</li>
</ul>
<P>作者：Petr Somol、Alyona Stashkova <br> 播放时长：7:04 </p>
 <p><a href="http://bits.netbeans.org/media/netbeans_fx.mp4">观看全图/下载</a> (.mp4)（按住 Ctrl 键单击即可下载，大小为 19,5 MB）</p>

 <div class="feedback-box"><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Screencast%20-%20JavaFX%20Support%20in%20NetBeans%20IDE">请将您的反馈意见发送给我们</a></div>


 <br style="clear:both;">
    </td>

                <td width="5">&nbsp; </td>
      <td class="valign-top" width="486">
   <script src="/images_www/js/mediaplayer-5.2/swfobject.js" type="text/javascript"></script>
    <div id="player" >
        <center>
	    <div id="flashContent"></div>
        </center>
    </div>
    <script type="text/javascript">
	$(function(){
	    var targetFile='http://bits.netbeans.org/media/netbeans_fx.mp4';
            var s1 = new SWFObject('/images_www/js/mediaplayer-5.2/player.swf','player','530','340','9');
            s1.addParam('allowfullscreen','true');
            s1.addParam('allowscriptaccess','always');
            s1.addParam('flashvars','file='+targetFile+'&autostart=true');
            s1.write('flashContent');
	});
    </script>
 
  </td>
  </tr>
        </table>
        <h2>相关链接</h2>

        <ul>
            <li><a href="http://wiki.netbeans.org/NewAndNoteworthyNB74">NetBeans 74 新增和值得注意的内容</a></li>
			<li><a href="http://wiki.netbeans.org/JavaFX">JavaFX - NetBeans Wiki</a></li>
			<li><a href="http://docs.oracle.com/javafx/">JavaFX 2 文档主页</a></li>
	    </ul>

</body>
</html>
