2013-11-06 5 views
2

Я работаю над последовательным выравниванием в своем приложении, которое написано в GWT и просматривается через JavaFX 2.2 WebView (Java 7u40), который основан на WebKit.Как мне оставить панель div в JavaFX WebView?

Проблема, с которой я столкнулся, заключается в том, что, по-видимому, проблемы/отсутствие поддержки с свойствами макета CSS в JavaFX. В документации (http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html) говорится, что поддерживается CSS 2.1 (который включает в себя дополнение, padding-left и т. Д.).

Документы также сделать это заявление «JavaFX CSS не поддерживает свойство макета CSS, такие как поплавок, положение, перелив и ширину. Однако, CSS Отступы и поля свойств поддерживаются на некоторых объектах графа сцены JavaFX.»

Вот что у меня есть, что прекрасно работает в Chrome:

.foo-bar-values { 
    padding-left: 22px; 
} 

Но это не имеет никакого эффекта в WebView.

Вот дополнительные правила, которые я пытался, которые все отлично работают в Chrome, но не в состоянии сделать что-либо в JavaFX WebView:

.foo-bar-values { 
    padding: 0px 0px 0px 22px; 
}  
.foo-bar-values { 
    margin: 0px 0px 0px 22px; 
}  
.foo-bar-values { 
    margin-left: 22px; 
} 
.foo-bar-values { 
    padding-left: 22px; 
    -fx-label-padding: 0px 0px 0px 22px; 
}  
.foo-bar-values { 
    padding-left: 22px; 
    -fx-padding: 0px 0px 0px 22px; 
} 
.foo-bar-values { 
    padding-left: 22px; 
    \-fx-label-padding: 0px 0px 0px 22px; 
}  
.foo-bar-values { 
    padding-left: 22px; 
    \-fx-padding: 0px 0px 0px 22px; 
} 

DOM-структурирована как следующие:

<table> 
    <colgroup></colgroup> 
    <tbody> 
    <tr> 
     <td></td> 
     <td> 
     <div class="foo-bar-values">This doesn't pad.</div> 
     </td> 
    </tr> 
    </tbody> 
</table> 

Как я получаю это <div> для правильного выравнивания в JavaFX WebView?

+0

из-за отсутствия свойства float и others в javafx ..... вы должны использовать widthProperty() .. и создать свой контроль в построителе сцены и определить их позицию в основном –

ответ

1

Очевидно, что документ, который я связал (единственное, что я могу найти о поддержке CSS в JavaFX), применим только к нормальной разработке JavaFX, а не к возможностям самого WebView (на основе webkit).

Похоже, что padding-left и другие соответствующие свойства макета работают в JavaFX WebView. Было что-то, что остановило мой WebView на загрузке всего CSS (неизвестная причина). Таким образом, последние несколько значений (которые мне нужны) были недоступны для стилизации документа.

Я проделал большую очистку и восстановление моего проекта, а также очистил все файлы темпа и кеша, и этот вопрос «ушел сам по себе».

я могу увидеть отступы правильно применен в WebView и теперь я могу видеть, что это применяется в Firebug Lite:

padding-left 22px 

я проверил, что правило было в моем app.css в .war файле, поэтому GWT генерирует и связывает вещи должным образом. Кажется, что проблема была где-то на стороне JavaFX WebView.