سؤال

هل يمكنني الاستفادة من الوظائف الجديدة المقدمة من جديد سكريبت برمجة التطبيقات مباشرة من جافا بالقدر نفسه الذي سوف تكون قادرة على استخدام سكريبت السيناريو ؟

كل الكامنة سكريبت Api بحتة جافا سكريبت Script أو خلط ؟

هل كانت مفيدة؟

المحلول

على سكريبت Api هي مزيج من سكريبت وجافا.SDK يأتي مع أرشيف src.zip الذي يحتوي على جزء من واجهات برمجة التطبيقات (فقط معظم فئات أساسية ، ولكن أشياء مثل سكريبت.المشهد في عداد المفقودين).

داعيا سكريبت رمز من جافا غير معتمد رسميا في سكريبت 1.x AFAIK.هناك بلوق الدخول في سكريبت المدونة أن يظهر لك كيفية القيام بذلك على أي حال فإنه غير معتمد باستخدام واجهات برمجة التطبيقات, ولكن الأمر معقد و لن تنجح هذه الطريقة في الإصدارات المستقبلية.

هناك نوعان من دعم سبل استخدام سكريبت من جافا.إما استخدام البرمجة API الاحتجاج سكريبت الكود كما هو مبين في هذه المادة.أو الذي هو الحل الأكثر أناقة IMHO كتابة API-الوصول إلى التعليمات البرمجية باستخدام سكريبت, تعريف واجهات جافا للتفاعل مع سكريبت رمز من عادي جافا ، ومن ثم تنفيذ هذه الواجهات في سكريبت.

نصائح أخرى

وكنا قادرين على استخدام مكونات الوسائط المتعددة مع سكريبت مع بعض النجاح. فهي غير معتمد كليا على هذا النحو وعرضة للتغيير على غرار كيف هي حزم com.sun في JavaSE.

ونحن متكاملة لهم في UI سوينغ، وتمكنت من القيام الاشياء MM يمكن أن تفعله من FX مباشرة من جاوة.

والأمل وضعوا بعض من ذلك في المكتبات الرئيسية قريبا.

وومخططات مشاهد تستخدم في سكريبت غير مفتوحة المصدر. يمكنك التحقق من ذلك هنا ( https://scenegraph.dev.java.net ). في حين أن الموقع لم يتم تحديثها لتعكس الصيغة النهائية التي يتم شحنها مع سكريبت 1.X، يمكنك الاستمرار في استخدام جرة الذي يأتي مع SDK سكريبت وتخلط مخططات مشاهد والبديل العقد داخل تطبيق البديل الخاص بك. ومع ذلك، سيكون لديك بعض الصعوبة لأنه ليس هناك API الرسمي لهذا الإصدار من مخططات مشاهد.

وفيما يلي "مرحبا العالم" باستخدام مخططات مشاهد أن يأتي woth سكريبت 1.0. تذكر أن تشمل "Scenario.jar" في مسار الإنشاء.

import java.awt.Color;
import java.awt.Paint;
import java.awt.geom.Point2D;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

import com.sun.scenario.scenegraph.JSGPanel;
import com.sun.scenario.scenegraph.SGGroup;
import com.sun.scenario.scenegraph.fx.FXText;



public class HelloWorldScenario101 implements Runnable {



    /**
     * @param args
     */
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new HelloWorldScenario101());
    }



    public HelloWorldScenario101() {
        //
    }



    @Override
    public void run() {

        this.frame = new JFrame();
        this.panel = new JSGPanel();
        this.text = new FXText();
        this.paint = new Color(255, 0, 0, 255);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle("Hello World");
        frame.add(this.panel);
        frame.setContentPane(this.panel);
        scene = new SGGroup();
        this.text.setText("Hello World");
        this.text.setFillPaint(this.paint);
        this.text.setLocation(new Point2D.Float(10, 10));
        this.scene.add(this.text);
        this.panel.setScene(scene);
        frame.pack();
        frame.setLocationByPlatform(true);
        frame.setVisible(true);

    }



    private JFrame frame;

    private JSGPanel panel;

    private SGGroup scene;

    private FXText text;

    private Paint paint;



}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top