001package polaris.sdk.ui.controls;
002import polaris.sdk.ui.*;
003import java.util.function.Consumer;
004public class MessageBox extends Modal {
005 private final Label body;private final Button cancel=new Button("取消"),ok=new Button("确定").primary(true);
006 public MessageBox(){this("消息","操作已完成",null);}
007 public MessageBox(String title,String message,Consumer<Boolean> answer){
008  super(title);w=440;h=212;body=new Label(message);add(body);add(cancel);add(ok);
009  cancel.onClick(b->{close();if(answer!=null)answer.accept(false);});
010  ok.onClick(b->{close();if(answer!=null)answer.accept(true);});
011 }
012 @Override protected void layoutChildren(){
013  float footer=h-padding-Spacing.CONTROL_HEIGHT,bw=Math.min(104,Math.max(0,(w-2*padding-gap)/2));
014  body.bounds(padding,contentTop(),Math.max(0,w-2*padding),Math.max(0,footer-gap-contentTop()));
015  cancel.bounds(w-padding-2*bw-gap,footer,bw,Spacing.CONTROL_HEIGHT);
016  ok.bounds(w-padding-bw,footer,bw,Spacing.CONTROL_HEIGHT);
017 }
018}