argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: JavaFX - най-новото отроче :)  (Прочетена 948 пъти)

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
JavaFX - най-новото отроче :)
« -: 27.09.2007, 11:12:58 »

Май си избрах за какво да говоря на OpenFest :) ако има :>

Най новото изрудско отроче

декларативно програмиране на GUI интерфейс + animations :)
мен ако питате СуПпППпЕр Лудо


http://fmi.zloba.net/wp-content/uploads/2007/09/jfxdemo1.swf - дописване в еклипс :)
http://fmi.zloba.net/wp-content/uploads/2007/09/jfx2.swf - CooL :) Motion Tween and Motion Shape в действие

Ето какво може да се направи с JFX BUilder естествено има бутонче дето е preview JFX дето показва JavaFX кода :)

http://fmi.zloba.net/wp-content/uploads/2007/09/jfx3.swf - JFX Builder :)

за повече инфо :

http://jfx.wikia.com/wiki/Code_Examples -Planet JFX

https://openjfx.dev.java.net/Learning_More_About_JavaFX.html  - Обяснение на Layouts GUI Components etc.

http://java.sun.com/developer/technicalArticles/scripting/javafxpart1/  - синтаксис на езика

http://java.sun.com/developer/technicalArticles/scripting/javafxpart2/  -JavaFX  + RMI

http://java.sun.com/developer/technicalArticles/scripting/javafxpart3/   + JavaFX + WebServices


оригинално на  http://fmi.zloba.net/ 




баси от преди малко се накефих на МАКС
Прозрачен чесовник с 80 реда код :
import javafx.ui.*;
import javafx.ui.canvas.*;
import java.util.Date;
import java.lang.Math;
import java.lang.System;

public class Timer {
    private attribute elapsed: Number;
    public attribute minutes: Number;
    public attribute seconds: Number;
    public attribute hours: Number;
    public attribute running: Boolean;
}

attribute Timer.elapsed = bind if running
then [1..20] dur 1000 linear
while running
continue if true
else 0;


trigger on Timer.elapsed = value {
    var now = new Date();
    minutes = now.getMinutes();
    seconds = now.getSeconds() + (now.getTime() % 1000)/1000;
    hours = now.getHours();
}


public class Clock extends CompositeNode {
    public attribute ticking: Boolean;
}

operation Clock.composeNode() {
    var t = Timer {running: bind ticking};
    return Group {
        var font = new Font("Dialog", "PLAIN", 15)
        var secs = bind t.seconds
        var mins = bind t.minutes + secs/60
        var hrs = bind t.hours + mins/60
        content:
        [Rect {
            height: 200
            width: 5000
            fill: white
        },
        Circle {cx: 100, cy: 100, radius: 80, fill: white, stroke: black, strokeWidth: 1},
        Group {
            transform: translate( 100, 100 )
            content: foreach( i in [1..12] )
              Text {
                  var radians = Math.toRadians( 30 * i - 90 )
                  transform: [translate( 70*Math.cos( radians ), 70*Math.sin( radians ) )]
                  content: "{i}"
                  valign: MIDDLE, halign: CENTER
              }
        },
        Group {
            transform: translate(100, 100)
            var hourHand =
            Line {x1: 0, y1: 0, x2: 0, y2: -35,
                strokeWidth: 4, stroke: black
                transform: bind rotate(hrs*30, 0, 0)
            }
            var minuteHand =
            Line {x1: 0, y1: 0, x2: 0, y2: -55,
                strokeWidth: 2, stroke: black,
                transform: bind rotate(mins * 6, 0, 0)
            }

            var secondHand =
            Line {x1: 0, y1: 0, x2: 0, y2: -75,
                strokeWidth: 1, stroke: red,
                transform: bind rotate(t.seconds * 6, 0, 0)
            }

            content: [hourHand, minuteHand, secondHand]
        },
        Circle {cx: 100, cy: 100, radius: 3, fill: black, stroke: black }]
    };
}

Clock {ticking: true}
 

izglejda taka




http://sellmic.com/lab/dev/jfx/clock/webstart/JFXClock.jnlp
« Последна редакция: 27.09.2007, 11:58:34 от JOKe »
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: JavaFX - най-новото отроче :)
« Отговор #1 -: 27.09.2007, 11:42:47 »

ако тук още смята че на Java не може да се прави нищо леко което да стартира бързо :
http://www.flex888.com/2007/09/26/cant-believe-those-are-java-applets.html и линка от там :
http://www.eigelb.at/
Активен

Kas

  • Неактивен Неактивен
  • Публикации: 46
Re: JavaFX - най-новото отроче :)
« Отговор #2 -: 27.09.2007, 14:23:14 »

Темата наистина е интересна. Лесно и бързо могат да се правят много добри неща.
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: JavaFX - най-новото отроче :)
« Отговор #3 -: 27.09.2007, 14:42:57 »

като видях GroupLayout в контекста на декларативното програмиране ме накефи на макс щото иначе GroupLayout+ Java - НЕНОРМАЛНО СЛОЖНО :)
Активен