Javafx的确能够简化图形开发,今天做了个小例子,拖拽一个圆形物体,不断移动
代码如下
/*
* test.fx
*
* Created on 2008-11-30, 15:30:11
*/
package javafx;import javafx.ext.swing.SwingFrame;import javafx.ext.swing.Canvas;import javafx.scene.geometry.Circle;import javafx.scene.paint.Color;import javafx.scene.*;import javafx.application.Stage;import javafx.ext.swing.*;import javafx.scene.media.*;import javafx.scene.*;import javafx.scene.transform.*;import javafx.scene.effect.*;import javafx.scene.paint.*;import javafx.scene.geometry.*;import javafx.scene.image.*;import javafx.scene.text.*;import javafx.scene.paint.Color;import javafx.animation.*;import javafx.lang.Duration;import javafx.application.Frame;import javafx.input.MouseEvent;/** * @author Administrator */var xcenter:Number=100;var ycenter:Number=100;var ajustx;var ajusty;var group = Group{ content:[ Circle { centerX:bind xcenter, centerY:bind ycenter radius: 40 fill: Color.BLACK onMousePressed: function( e: MouseEvent ):Void { ajustx=xcenter-e.getX();//这个不加这个变量,则不管点到哪里拖拽,圆心都和鼠标重合,效果很难看//我第一次还用错了变量:e.getDragX();是指拖拽的距离,晕 ajusty=ycenter-e.getY(); java.lang.System.out.println(ajustx+" "+ajusty); } onMouseDragged: function( e:MouseEvent ):Void { xcenter =e.getX()+ajustx; ycenter =e.getY()+ajusty; } } ]}Frame { title: "MyApplication" width: 200 height: 200 closeAction: function() { java.lang.System.exit( 0 ); } visible: true stage: Stage { content: [group] }}
//现在的fx太不完善了,netbeans的插件也不太好用,甚至import都要自己写
//还有java.lang.system这个类居然还要引用……
//好在目前还不是正式版,期待1.0啊
相关资源:JavaFX实例合集