2017-08-31 4 views
0

私はJavaとZKでERPを開発しています。ボーダーレイアウト上のイベントの崩壊バーを処理する

私はborderlayoutを持っています。北はいくつかのフィルターを含むパネルを含んでいます。

私は北を折りたたみ可能にしたいです。

私はそれを崩壊させたり開いたりするとうまくいきますが、代わりにバーを押すと正しく開くことはできませんが、プレビューだけです。

この機能を無効にすることはできますか?バーでクリックイベントを処理できますか?

のJava:

North north = new North(); 
m_mainLayout.appendChild(north); 
north.setHflex("1"); 
north.setCollapsible(true); 

答えて

1

あなたを助けることができるものがいくつかあります。 Eclipseのzulのオートコンプリートでは十分に文書化されておらず、入手できないものもあります。

まず第一に:スライド - そこレイアウト領域にsetSlide(boolean)があり、そしてあなたがバーではなく、ボタンをクリックしたときに耳を傾けることができますonSlide event

第二には、崩壊のアニメーションをオフにするlibrary propertyがあります:

<library-property> 
    <name>org.zkoss.zul.borderlayout.animation.disabed</name> 
    <value>true</value> 
</library-property> 

あなたは、あなたの場合は、アニメーションの有無にかかわらず、より良い動作するかどうかを確認するためにzk.xmlでそれを指定することができます(私のミニの例ではそれが働いていましたアニメーションなしでより良い)。

全体のバーは、ボタンのように振る舞うようになります。このスタイルを追加し、第三に、そして最も重要:これはnorthです

<style> 
    .z-north-collapsed>.z-borderlayout-icon { 
     top: 0; bottom: 0; right: 0; left: 0; 
     width: 100%; height: 100%; 
    } 
    .z-north-collapsed>.z-borderlayout-icon::before { 
     vertical-align: middle; 
    } 
</style> 

、あなたがのために、それはもう少し一般的なようにしたいかもしれません他の地域。私は、ボタンを大きくし、アニメーション/イベント処理/コンポーネントの交換をzkに任せていることが分かりました。


例:

<style> 
    .z-north-collapsed>.z-borderlayout-icon { 
     top: 0; bottom: 0; right: 0; left: 0; 
     width: 100%; height: 100%; 
    } 
    .z-north-collapsed>.z-borderlayout-icon::before { 
     vertical-align: middle; 
    } 
</style> 

<borderlayout> 
    <north splittable="true" collapsible="true" > 
     <button label="hello" /> 
    </north> 
    <center> 
     <textbox value="world" /> 
    </center> 
</borderlayout>