0

このコードをテストしようとしていますが、問題が発生しています。デフォルトの JavaFX プラットフォームの netbeans があります。ここに画像の説明を入力

この例は、次の Web サイトからのものです: http://onjava.com/pub/a/onjava/2007/07/27/introduction-to-javafx-script.html?page=4

     package captureexample1;


import java.io.*;
import javafx.ui.*;
   import javafx.ui.canvas.*;
 import javafx.ui.filter.*;
import java.awt.Robot;
import java.awt.Rectangle;
import java.awt.image.RenderedImage;
import javax.imageio.ImageIO;
 import java.lang.System;
  class CaptureExample extends CompositeNode{
  attribute lx: Integer;
  attribute ly: Integer;
  operation CaptureExample();
   }
   attribute CaptureExample.lx = 0;
  attribute CaptureExample.ly = 0;
    operation saveCapture(lx_copy:Integer, ly_copy:Integer) {
     var robot = new Robot();
     var rect = new Rectangle (lx_copy, ly_copy, 50, 50);
    var BI=robot.createScreenCapture(rect);
    var file = new File(".//capture.jpg");
    ImageIO.write((RenderedImage)BI, "jpg", file);
     }
     function CaptureExample.composeNode() =
     Group{
     transform: []
    content:[ImageView {
     transform: []
      image: Image { url: ".//app//Sunset.gif" }
      cursor: DEFAULT
     onMouseClicked: operation(e:CanvasMouseEvent) {
     saveCapture(e.source.XOnScreen,e.source.YOnScreen);
     }
      onMouseMoved: operation(e:CanvasMouseEvent) {
      lx = e.x;
      ly = e.y;
       }
     },
      Rect{
    x: bind lx
     y: bind ly
     width: 50
     height:50
     strokeWidth: 1
    stroke: black
    }]
    };
   Frame {
     centerOnScreen: true
     visible: true
    height: 230
    width: 300
    title: "Capture the screen..."
    onClose: operation() {System.exit(0);}
      content: ScrollPane {
    background: white
     view: Canvas {
      background: black
        cursor: DEFAULT
        content: CaptureExample
           }
         }
             }
4

1 に答える 1

2

JavaFX スクリプトと JavaFX2 を混在させているようです。

本当にJavaFX 1.3 を使用したい場合:

  • 6.1 などの古い NetBeans を入手する
  • .javaファイルの名前を.fx

しかし、JavaFX を学びたいだけなら、JavaFX 2 を試してみることを強くお勧めします。

于 2012-10-10T23:28:43.463 に答える