我试图了解Apache Pivot如何根据BXML文件中的定义构建 GUI 。我想确保我了解涉及哪些步骤以及在这些步骤中自动完成了什么。为此,我尝试将一个非常简单的 GUI 的 BXML 定义转换为纯 Java。但是,在遵循 BXML Primer中描述的步骤时,布局似乎不是以相同的方式(或根本不是)完成的。
这是 BXML 文件和加载文件的随附类:
示例.bxml:
<?xml version="1.0" encoding="UTF-8"?>
<Frame xmlns="org.apache.pivot.wtk">
<TextArea text="Hello World" />
</Frame>
WithBxml.java:
public final class WithBxml extends Application.Adapter {
@Override
public void startup(Display display, Map<String, String> properties) throws Exception {
Frame frame = (Frame) new BXMLSerializer().readObject(WithBxml.class, "example.bxml");
frame.open(display);
}
public static void main(String[] args) {
DesktopApplicationContext.main(WithBxml.class, args);
}
}
这将创建以下 GUI,这是预期的:
我正在尝试使用以下代码重新创建相同的 GUI。但是TextArea
不可见,如以下屏幕截图所示。
没有 Bxml.java:
public final class WithoutBxml extends Application.Adapter {
@Override
public void startup(Display display, Map<String, String> properties) throws Exception {
TextArea textArea = new TextArea();
textArea.setText("Hello World");
Frame frame = new Frame();
frame.add(textArea);
frame.open(display);
}
public static void main(String[] args) {
DesktopApplicationContext.main(WithoutBxml.class, args);
}
}
我需要在类中进行哪些更改WithoutBxml
才能获得与 BXML 文件相同的结果?