В R каждый «объект» имеет mode
и class
. Первый представляет, как объект хранится в памяти (числовой, символ, список и функция), а позднее представляет его абстрактный тип. Например:
d <- data.frame(V1=c(1,2))
class(d)
# [1] "data.frame"
mode(d)
# [1] "list"
typeof(d)
# list
Как вы можете видеть, кадры данных хранятся в памяти как list
, но они завернуты в объекты data.frame
. Последний позволяет использовать функции-члены, а также функции перегрузки, такие как print
с пользовательским поведением.
typeof
(storage.mode
) обычно дает ту же информацию, что и mode
, но не всегда. Пример:
typeof(c(1,2))
# [1] "double"
mode(c(1,2))
# [1] "numeric"
Обоснование этого можно найти здесь здесь :
Тип специфической функции R возвращает тип Объект R
Функциональный режим предоставляет информацию о режиме объекта в смысле Becker, Chambers & amp; Wilks (1988) и более совместим с другими реализациями языка S
blockquote>. Ссылка, которую я опубликовал выше, также содержит список всех родных R
basic types
(векторов, списков и т. Д. ) и всеcompound objects
(факторы и data.frames), а также некоторые примеры того, какmode
,typeof
иclass
связаны для каждого типа.
См. индивидуальный вид и обработку окна в приложении Ensemble Sample , который включает исходный код. Загрузите источник , создайте его и запустите его как отдельное приложение, а не встроенное в браузер. Это не будет то, о чем вы просите, потому что такие вещи, как перетаскивание на верхний край экрана, чтобы активировать максимизацию, не будут работать, я думаю, но это должно быть очень близко, и вы всегда можете что-то кодировать, когда его тянули около верхнего края. Окно Ensemble имеет такие функции, как пользовательские изменения размера, минимизация, максимизация, закрытие значков, область в верхней части окна, которую вы можете использовать для перетаскивания окна или двойного щелчка, чтобы максимизировать или минимизировать окно - то есть большинство стандартных функций, которые вы будет ожидать от системы оконного оформления рабочего стола.
Чтобы получить что-то еще ближе к тому, что вы просите, возможно, вы могли бы что-то взломать, создав два окна. Один, стандартное оформленное окно сцены, которое включает в себя границы экрана, а другое - незадекларированный или прозрачный дочерний этап, который всегда отображается поверх главного окна и накладывает границы главного окна с помощью индивидуального рендеринга. Я думаю, что вы можете столкнуться с трудностями, пытаясь реализовать этот подход, поэтому я бы не рекомендовал его.
Возможно, вам захочется попробовать стиль UNDECORATED stage, а не TRANSPARENT, и посмотреть, улучшится ли ваша встроенная интеграция с Windows с этим.
В JFK8, в настоящее время запланирован некоторый открытый запрос функции, который будет поставляться с JDK8, Windows: поддержка эффектов Aero Glass для окон верхнего уровня , Mac: Поддержка стиля NSTexturedBackgroundWindowMask для окон и . Сплошной белый фон, созданный на сцене, должен быть создан - при необходимости - в Scenegraph , который, когда он будет реализован, скорее всего поможет вам достичь вашей цели - проголосовать за них, если такие функции важны для вас.
[/g8]
Также проверка VFXWindows , которая представляет собой структуру оконного кода с открытым исходным кодом для JavaFX.
Обновление
Также связан проект Undecorator , который позволяет вам легко создавать этап JavaFX со стандартным d минимизировать / максимизировать / закрыть / изменить размеры элементов управления хромом, которые обрабатываются с помощью механизма JavaFX, а не системы оконной ОС. Это позволяет вам достичь определенного пользовательского контроля над рендерингом окна, которое отображает такое приложение, как Ensemble.
Вы можете использовать эту библиотеку . Это полностью настраиваемая сцена JavaFx (CustomStage). Вы можете увидеть подробное описание того, как его использовать в этой CustomStage Wiki
Он имеет