在此ui.bxml中,使用了另一種事件處理機制,用<buttonPressListeners></buttonPressListeners>,也就是將要進行的事件處理撰寫在<buttonPressListeners></buttonPressListeners>區塊中。在範例中所寫的處理機制是要設定選擇了在CardPane中的哪一個card。
============範例展示=================================================
============範例展示=================================================
<!--ui.bxml-->
<Window title="Link Buttons" maximized="true"
xmlns:bxml="http://pivot.apache.org/bxml"
xmlns:content="org.apache.pivot.wtk.content"
xmlns="org.apache.pivot.wtk">
<Border>
<CardPane bxml:id="cardPane" selectedIndex="0" styles="{selectionChangeEffect:'horizontal_slide'}">
<BoxPane orientation="vertical" styles="{horizontalAlignment:'center', verticalAlignment:'center'}">
<ImageView image="/IMG_0735_2.jpg"/>
<LinkButton>
<content:ButtonData text="下一張" icon="@resultset_next.png"/>
<buttonPressListeners>
function buttonPressed(button) {
cardPane.setSelectedIndex(1);
}
</buttonPressListeners>
</LinkButton>
</BoxPane>
<BoxPane orientation="vertical" styles="{horizontalAlignment:'center', verticalAlignment:'center'}">
<ImageView image="/IMG_0767_2.jpg"/>
<LinkButton>
<content:ButtonData text="上一張" icon="@resultset_previous.png"/>
<buttonPressListeners>
function buttonPressed(button) {
cardPane.setSelectedIndex(0);
}
</buttonPressListeners>
</LinkButton>
</BoxPane>
</CardPane>
</Border>
</Window>
最後仍然是NewClass.java
//NewClass.java
import java.awt.Font;
import org.apache.pivot.beans.BXMLSerializer;
import org.apache.pivot.collections.Map;
import org.apache.pivot.wtk.*;
public class NewClass implements Application {
private Window window = null;
public static void main(String[] args) {
DesktopApplicationContext.main(NewClass.class, args);
}
@Override
public void startup(Display display, Map<String, String> properties)
throws Exception {
Theme.getTheme().setFont(new Font("PMingLiU",Font.PLAIN,12));
BXMLSerializer bxmlSerializer = new BXMLSerializer();
window = (Window) bxmlSerializer.readObject(NewClass.class, "ui.bxml");
window.open(display);
}
@Override
public boolean shutdown(boolean optional) {
if (window != null) {
window.close();
}
return false;
}
@Override
public void suspend() {
}
@Override
public void resume() {
}
}
No comments:
Post a Comment