promotion image of download ymail app
Promoted

可以幫我看一下這樣翻譯對嗎?(資訊類)

When creating a custom Composite widget that wrap a widget that implementsRequiresResize, you should use ResizeComposite as its base class. Thissubclass of Composite automatically propagates resize events to its wrappedwidget.

當創建一個自定義Composte, 有包覆一個實作RequiresResize介面的Widget 的情況下

你應該使用ResizeComposite當成它的基礎類別, 由於它是Composite的子類別,

它會自動傳播resize event到它包覆的Widget

已更新項目:

9527感謝您的幫忙

您的最後四句回答有些部份觀念您可能誤解了

一般自定義組件的時候,會是

public class MyComposite extends Composite {

private LayoutPanel layout;

private Button button;

...........(Constructor or other methods)

文件告訴我們,如果我們包覆的組件裡,有像是LayoutPanel或是DockLayoutPanel這種有實作RequiresResize介面的組件

那麼我們在定義MyComposite類別的時候,

2 個已更新項目:

應該要繼承ResizeComposite,像下面這樣

public class MyComposite extends ResizesComposite {

private LayoutPanel layout;

private Button button;

..........(Constructor or other methods)

為什麼要使用ResizeComposite的用意是在於:(以下是HTML的DOM節點的觀念)

如果MyComposite這個類別,有Attach到一個實作ProvideResize的父widget,像是RootLayoutPanel

3 個已更新項目:

它會在MyComposite的大小被改變的時候,呼叫MyComposite的onResize()函式

如果MyComposite不是繼承自ResizeComposite而是單純的Composite的時候,老爸(RootLayoutPanel)就不會呼MyComposite的onResize

雖然老爸有實作ProvideResize,可是兒子沒有RequiresResize,也就沒有onResize()可以讓老爸呼

同一網頁同一小節還有一段

4 個已更新項目:

RequiresResize provides a single method, onResize(), which is called by the widget's parent whenever the child's size has changed.

ProvidesResize is simply a tag interface indicating that a parent widget will honor this contract.

5 個已更新項目:

The purpose of these two interfaces is to form an unbroken hierarchy between all widgets that implement RequiresResize and the RootLayoutPanel,

which listens for any changes (such as the browser window resizing) that could affect the size of widgets in the hierarchy.

6 個已更新項目:

還有這裡

A panel that implements ProvidesResize is expected to propagate resize events to any of its child widgets that implement RequiresResize.

我講的可能不是正確的,如果有錯誤請指正我,謝謝

7 個已更新項目:

沒關係的,同是熱愛JAVA的人,以後還請不吝指正

那個Google的網頁是英文的,雖然不至於看不懂,

可是要完全理解的話,總是比中文吃力一點

我只是想知道我翻譯的有沒有曲解原文的意義

1 個解答

評分
  • 9 年前
    最佳解答

    大大您好

    你這一段是下面網址的段落吧

    http://code.google.com/intl/zh-TW/webtoolkit/doc/l...

    他這一段很簡單,

    其實你不用硬去翻他的意思,

    點選他提供的api和看看關鍵字就可以大約了解意思。

    你先點選Composte、ResizeComposite和RequiresResize超連結看api,

    此時可以知道ResizeComposite有實做(implements)RequiresResize Interface

    他的父類別是Composte。

    所以ResizeComposite因為有implements RequiresResize 所以有做些Composite沒有做的事。

    因此這段文章的重點是說:如果在建立Composte時,基底類別最好是ResizeComposite,因為他會自動觸發 wrapped widget。

    說了這麼多只要一句程式就看的懂了。

    Composte composte = new ResizeComposite();

    2011-12-28 17:52:22 補充:

    哈哈,抱歉沒有很深入研究GWT~XD

    2011-12-28 18:05:12 補充:

    所以你一開始問的應該是它這一段的總節,

    如果你要自定一個元件時,

    而這個元件如果又會修改它的大小,

    請使用interface:ResizeComposite,

    因為在改變元件大小時,

    會去觸發onResize()這個方法。

    如同RootLayoutPanel物件,有實做RequiresResize。

    應該是這個意思吧~哈哈....XD

    抱歉剛才只看你所貼的那一段...囧

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。