2012-04-25 2 views

答えて

7

Vaadinは、クライアント(ブラウザ)に関する有用な情報を提供してWebブラウザーと呼ばれるクラスがあります。

次のように、例えば、現在のWebブラウザーインスタンスにアクセスすることができます:WebBrowserコントロールの詳細については

public class MyApplication extends Application { 

    @Override 
    public void init() { 
     setMainWindow(new Window()); 

     ApplicationContext context = this.getContext(); 
     if (context instanceof WebApplicationContext) { 
      WebBrowser webBrowser = ((WebApplicationContext) this.getContext()).getBrowser(); 

      Date now = webBrowser.getCurrentDate(); // Returns the current date and time on the browser 
     } 
    } 
} 

クラスについては、JavaDocsを参照してください。

+0

答えとWebBrowserクラスについての情報のためのthnaksしかし、それは常にサーバを提供するdid'nt仕事、ドキュメントを見た後、私はそのメソッドを見つけた:public Date getCurrentDate() 現在の日付と時間を返すブラウザ。これは、ネットワークの待ち時間が変化するため完全には正確ではありませんが、ほとんどの場合、十分に近い値を提供する必要があります。また、返されたDateオブジェクトは、クライアントではなくサーバーのデフォルトタイムゾーンを使用することに注意してください。 – aminedev

+1

WebBrowserクラスには他の時間と時間帯に関連するメソッドもあります。これらのメソッドを使用してブラウザで時間を計算できるはずです。 –

0

Vaadinはサーバー側で実行されるため、そこにあるすべてがサーバー自体に対応します。あなたの問題では、おそらくvaadinウィジェットを作成してクライアントの時間(-zone)を取得し、それをサーバーに渡すことができます。

+1

Henri Kerolaの答えに見られるように、vaadinはすでにクライアントから日付を取得する機能を提供しています。私はそれを知らなかった。 – nexus

関連する問題