ФЭНДОМ


Главная | Описание языка | FXD | API | Примеры | Инструменты Разработки | Новости | Ресурсы | Форум


Задайте интересующий вас вопрос по языку JavaFX Script


Вопросы по языку JavaFX Script Править

Использовать JavaFX из Java Править

Вопрос: Может я еще плохо понял всех принципов, но есть вопрос. Я могу пользоваться классами Java из JavaFX, а наоборот возможно ли? К примеру чтобы в Java можно было создать сцену, и на ней уже манипулировать объектами, созданными в JavaFX.
Ответ: Посмотрите вот здесь на форуме этот вопрос уже обсуждался.

Как написать простую форму входа Править

Вопрос: Хочу написать простую форму входа, после регистрации в которой пользователь попадает на одну из страниц. Сраница соответствует выбраному имени. Как реализовать запуск нужной формы из формы входа, с её последующим закрытием?
Ответ: Вот как раз на форуме подняли похожий вопрос: Login.fx и Main.fx. Посмотрите, это то что вам нужно или нет.

Различия между компилируемым и интерпретируемым JavaFX Править

Вопрос: Какие языковые конструкции допустимы в компилируемой версии, но недопустимы в интерпретируемой?
Ответ: Компилируемая и интерпретируемая версии языка JavaFX Script синтаксически отличаются друг от друга. Так в интерпретирумой версии есть функции и операции ( function and operation), тогда как в компилирумой все это заменено на функции. Если в интерпретируемой версии инициализация атрибутов и определение методов происходило снаружи определения класса, то теперь все определяется внутри объявления класса.
Смотри также: Переход с интерпретируемой на компилируемую версию


Вопрос: Каких jar-файлов будет достаточно для работы с компилируемой версией, а каких - для работы с интерпретируемой?
Библиотеки, необходмые для интерпретируемой версии
javafxrt.jar
Filters.jar
swing-layout.jar
Библиотеки, необходмые для компилируемой версии
javafxc.jar
javafxrt.jar
Scenario.jar

Использование Bean компонентов Править

Вопрос: Можно ли использовать свой компонент (bean) в JavaFX?
Ответ: Вот пример использование JCalendar bean-а в языке JavaFX Script
Пример использования Картинка
import javafx.ui.*;
import javax.swing.*;
import com.toedter.calendar.*;

class JavaBean extends Widget{
    attribute bean: JComponent;
    protected function createComponent():JComponent{
        return bean;
    }
}

Frame{
    title: "Calendar"
    content: JavaBean{
        bean: new JCalendar()
    }
    visible: true
}
Calendar sample

Как объявить статический (static) атрибут или функцию/операцию в JavaFx классе? Править

Вопрос: Как объявить статический (static) атрибут или функцию/операцию в JavaFx классе? Типа static attribute ... Такое слово зарезервировано, но в спецификации не нашел возможность его применения.
Ответ: Объявлять статические атрибуты/функции можно только в компилируемой версии языка JavaFX Script (см установка компилятора). При этом слово static надо вставлять в начало объявления атрибута или функции.
Пример:
import java.lang.System;

class Function{
    static attribute DEBUG:Boolean = false;
    static function add(a:Number,b:Number):Number{
        return a + b;
    }
}

System.out.println("3 + 4 = {Function.add(3,4)}");

Как в обычном интерфейсе сделать "размытый" шрифт? Править

Вопрос: Как в обычном интерфейсе сделать "размытый" шрифт? Нечто вроде antialiased: true
Ответ: Вот примерный код. Он сейчас не работает из за ошибки JFXC-689
import javafx.ui.*;
import javafx.ui.canvas.*;

Frame{
    title: "Smooth Text"
    content:  Canvas{
        content: View{
            antialiasText: true
            content: Label{ text: "Hello World!" }
        }
    }    
    visible: true
}

Работа с интерфейсом во время выполнения скрипта Править

Вопрос: Существует ли в JavaFX возможность динамической работы с созданным интерфейсом пользователя? К примеру, добавление новых пунктов меню или скрытие/отображение определённых элементов контекста, во время выполнения скрипта?
Ответ: Все это можно сделать, используя подходящим образом оператор bind. Например, можно хранить элементы menu в массиве, а массив связать с основным menu. Тогда добавление/удаление элементов массива будет сказываться и на основном menu приложения:
Пример использования Картинка
import javafx.ui.*;

var menus:AbstractMenuItem[];
var num = 1;

insert MenuItem {
    text: "Insert New Menu"
    action: function(){
        insert MenuItem{ text: "Menu {num}" } into menus;
        num = num + 1;
    }
} into menus;

Frame{
    title: "Menu Example"
    menubar: MenuBar{
        menus: Menu{ text: "Main Menu" items: bind menus}
    }
    visible: true    
}
Menu
Скрывать/отображать определённые элементы контекста можно, связав с аттрибутом visible элемента некоторую логическую переменную
 var flag = true;
 Button{ text: "Click Me" visible: bind flag }  
Следующий пример показывает, как можно связать массив строк с элементами списка. От первого примера он отличается только тем, что в массиве будут хранится строки, а не ячейки списка:
Пример использования Картинка
import javafx.ui.*;

var animals:String[] = [ "dog", "cat" ];
var animal:String;

Frame{
    title: "Animals"
    content: BorderPanel{
        top: TextField{ text: bind animal with inverse}
        center: ListBox {
            cells: bind for(str in animals){
                ListCell{ text: str}
            }
        }        
        bottom: Button{
            text: "Add Animal"
            action: function(){ insert animal into animals; }
        }
    }
    visible: true
} 
Animals

Перечислимые типы Править

Вопрос: Поддерживает ли язык JavaFX Script перечислимые типы, такие как Enumarations в Java?
Ответ: На текущий момент язык JavaFX Script не поддерживает перечислимые типы. Зато в компилируемой версии можно свободно использовать enumerations, написанные на языке Java.
Например:
Day.java
 public enum Day {
   Sunday, Monday,  Tuesday, Wednesday, Thursday, Friday, Saturday    
 }
Example.fx
   import java.lang.System;

   var day = Day.Friday;
   System.out.println("Day is : {day}");

Вопросы, относящиеся к Wiki серверу Править

Задайте здесь свой вопрос Править

Wiki Skin Править

Вопрос: Как настроить Skin для Wiki
Ответ: Чтобы настроить Skin, надо сначала зарегестрироваться на Wiki сервере, потом перейти по ссылке "имя пользователя -> My Preferences", перейти на вкладку Skin и выбрать из того, что там есть.
MonoBook Skin Quartz Sapphire Skin
Wiki skin monobook thumb Wiki skin quartz sapphire thumb

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики