Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Lanterna-如何创建一个简单的复选框菜单?_Java_User Interface_Lanterna - Fatal编程技术网

Java Lanterna-如何创建一个简单的复选框菜单?

Java Lanterna-如何创建一个简单的复选框菜单?,java,user-interface,lanterna,Java,User Interface,Lanterna,到目前为止我有 Terminal terminal = new DefaultTerminalFactory().createTerminal(); TerminalScreen screen = new TerminalScreen(terminal); MultiWindowTextGUI mwtg = new MultiWindowTextGUI​(screen); CheckBoxList checkBoxList = new CheckBoxList<String>();

到目前为止我有

Terminal terminal = new DefaultTerminalFactory().createTerminal();
TerminalScreen screen = new TerminalScreen(terminal);
MultiWindowTextGUI mwtg = new MultiWindowTextGUI​(screen);

CheckBoxList checkBoxList = new CheckBoxList<String>();
checkBoxList.addItem("Check one");
checkBoxList.addItem("Check two");
Terminal-Terminal=new DefaultTerminalFactory().createTerminal();
终端屏幕=新终端屏幕(终端);
MultiWindowTextGUI mwtg=新的MultiWindowTextGUI​(屏幕);
CheckBoxList CheckBoxList=新CheckBoxList();
复选框列表。添加项(“选中一项”);
复选框列表。添加项(“选中两项”);
我不知道如何将
复选框列表直接添加到
mwtg


非常感谢您的帮助

好吧,在盲目地在API中胡乱猜了几个小时之后,我做了这个,虽然有效,但可能有点笨重或气味,所以请随时改进我自己的答案

private MultiWindowTextGUI mwtg;
private BasicWindow bw;
private CheckBoxList<String> checkBoxList;
private List<String> ckeckedItems;
Terminal terminal = new DefaultTerminalFactory().createTerminal();
TerminalScreen screen = new TerminalScreen(terminal);
MultiWindowTextGUI mwtg = new MultiWindowTextGUI​(screen);
this.checkBoxList = new CheckBoxList<String>();
this.checkBoxList.addItem("item1");
this.checkBoxList.addItem("item2");
this.checkBoxList.addItem("item3");
this.checkBoxList.addListener((sel, prev) ->
    { this.ckeckedItems = this.checkBoxList.getCheckedItems​(); }
);
Panel panel = new Panel();
panel.setLayoutManager(new GridLayout(4));
panel.addComponent(this.checkBoxList);
Button button = new Button("Done", () -> this.bw.close());
button.addTo​(panel);
this.bw = new BasicWindow("Choices");
this.bw.setComponent(panel);
this.mwtg.addWindowAndWait(this.bw);
私有多窗口文本GUI mwtg;
私人基本窗口;
私人清单;
私人名单;
终端=新的DefaultTerminalFactory().createTerminal();
终端屏幕=新终端屏幕(终端);
MultiWindowTextGUI mwtg=新的MultiWindowTextGUI​(屏幕);
this.checkBoxList=新checkBoxList();
此.checkBoxList.addItem(“项目1”);
此.checkBoxList.addItem(“项目2”);
此.checkBoxList.addItem(“项目3”);
this.checkBoxList.addListener((sel,prev)->
{this.ckeckedItems=this.checkBoxList.getCheckedItems​(); }
);
面板=新面板();
面板。setLayoutManager(新网格布局(4));
panel.addComponent(此复选框列表);
Button Button=新建按钮(“完成”,()->this.bw.close());
button.addTo​(专家组);
this.bw=新的基本窗口(“选择”);
此.bw.setComponent(面板);
this.mwtg.addWindowAndWait(this.bw);
我希望这可能对某人有用