欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第一个javaFx实例(博客搬家)

程序员文章站 2022-06-04 14:37:18
...
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啊