2016-10-26 4 views
0

Я пытаюсь найти цвет элемента с GWT, но я ничего не получаю (пустая строка). В чем моя проблема? Следующий код иллюстрирует проблему:Получить цвет элемента с GWT

import com.google.gwt.core.client.EntryPoint; 
import com.google.gwt.core.client.Scheduler; 
import com.google.gwt.core.client.Scheduler.ScheduledCommand; 
import com.google.gwt.user.client.ui.Anchor; 
import com.google.gwt.user.client.ui.RootLayoutPanel; 

public class Test implements EntryPoint { 
    Anchor a = new Anchor("Anchor"); 

    @Override 
    public void onModuleLoad() { 
      RootLayoutPanel.get().add(a); 

      Scheduler.get().scheduleDeferred(new ScheduledCommand() {  
       @Override 
       public void execute() { 
        log(a.getElement().getStyle().getColor());      
        log(a.getElement().getStyle().getVisibility()); 
        log(a.getElement().getStyle().getPosition());      
       } 
      }); 
    } 

    static native void log(String message) /*-{ 
    console.log(message); 
    }-*/; 
} 

Цвет консоли отображает и видимость как пустые строки, в то время как позиция отображается как «абсолютный» (показывая, что проблема не с регистрацией). Результат одинаковый как в Chrome, так и в Firefox.

+0

Попробуйте 'getComputedStyle'. Возможно, этот пост поможет вам: http://stackoverflow.com/questions/21797258/getcomputedstyle-like-javascript-function-for-ie8 – Adam

ответ

1

Это означает, что элемент не имеет цвета, установленного непосредственно в его атрибуте стиля. Он может получать цвет из своего класса CSS или по умолчанию в браузере.

+0

Итак, этот подход не рассматривает DOM и не извлекает способ визуализации этого элемента? Я удивлен. Как получить информацию об рендеринге? (Моя ситуация заключается в том, что у меня есть холст в HTML-странице. Стили страниц задаются динамически через альтернативные листы CSS. Мне нужно, чтобы холст соответствовал стилю CSS.) – Oswulf