HelloAppクラスを修正する
では、HelloApp.javaを修正しましょう。次のようにソースコードを修正してください。書き換えたら、プログラムを実行し、入力フィールドに数字を記入してボタンをクリックし、どのようなテキストが表示されるか調べてみましょう。
package jp.tuyano.pivot;
import org.apache.pivot.collections.Map;
import org.apache.pivot.util.concurrent.*;
import org.apache.pivot.web.GetQuery;
import org.apache.pivot.wtk.*;
import org.apache.pivot.wtk.text.*;
import org.apache.pivot.wtkx.WTKXSerializer;
public class HelloApp implements Application {
private Window window;
private Label msg;
private TextInput input1;
private PushButton button1;
@Override
public void startup(Display display, Map<String, String> map)
throws Exception {
WTKXSerializer serializer = new WTKXSerializer();
window = (Window)serializer.readObject(this, "HelloApp.wtkx");
msg = (Label)serializer.get("msg");
input1 = (TextInput)serializer.get("input1");
button1 = (PushButton)serializer.get("button1");
button1.getButtonPressListeners().add(new ButtonPressListener(){
@Override
public void buttonPressed(Button btn) {
msg.setText("load...");
String id = input1.getText();
GetQuery query = new GetQuery(【サーバー指定】, "/HelloPivot/getsample.php");
query.setSerializer(new PlainTextSerializer("utf-8"));
query.getParameters().add("id", id);
query.execute(new TaskAdapter<Object>(new TaskListener<Object>() {
@Override
public void taskExecuted(Task<Object> task) {
msg.setText("loaded.");
Document doc = (Document)task.getResult();
Paragraph para = (Paragraph)doc.get(0);
Prompt.prompt(para.get(0).toString(), window);
}
@Override
public void executeFailed(Task<Object> task) {
msg.setText(task.getFault().getMessage());
}
}));
}});
window.open(display);
}
……略……
}

