public class AllDialogsDemo extends Scene
{
Text result;
public AllDialogsDemo()
{
result = new Text("Ergebnis");
result.anchor(0, 6);
result.color("red");
add(result);
int x = -12;
int y1 = 3;
int y2 = 2;
int y3 = -2;
int y4 = -3;
// showMessage
new DialogOpener("showMessage(message)", () -> {
Controller.dialog().showMessage("Message");
return null;
}, x, y1);
new DialogOpener("showMessage(message, title)", () -> {
Controller.dialog().showMessage("Message", "Title");
return null;
}, x, y2);
// requestStringInput
new DialogOpener("requestStringInput(message)",
() -> Controller.dialog().requestStringInput("Message"), x, y3);
new DialogOpener("requestStringInput(message, title)",
() -> Controller.dialog()
.requestStringInput("Message", "Title"),
x, y4);
// requestYesNo
x = 2;
new DialogOpener("requestYesNo(message)",
() -> Controller.dialog().requestYesNo("Message"), x, y1);
new DialogOpener("requestYesNo(message, title)",
() -> Controller.dialog().requestYesNo("Message", "Title"), x,
y2);
// requestOkCancel
new DialogOpener("requestOkCancel(message)",
() -> Controller.dialog().requestOkCancel("Message"), x, y3);
new DialogOpener("requestYesNo(message, title)",
() -> Controller.dialog().requestOkCancel("Message", "Title"),
x, y4);
}
class DialogOpener extends Text implements MouseClickListener, FrameListener
{
Supplier<Object> supplier;
public DialogOpener(String content, Supplier<Object> supplier, double x,
double y)
{
super(content);
this.supplier = supplier;
add(this);
anchor(x, y);
}
@Override
public void onMouseDown(Vector position, MouseButton button)
{
if (contains(position))
{
result.content(supplier.get());
}
}
@Override
public void onFrame(double pastTime)
{
if (contains(Controller.mousePosition()))
{
color("blue");
}
else
{
color("white");
}
}
}
public static void main(String[] args)
{
Controller.instantMode(false);
Controller.start(new AllDialogsDemo());
}
}