Java 我可以用picocli做可滚动的结果吗?

Java 我可以用picocli做可滚动的结果吗?,java,command-line-interface,picocli,Java,Command Line Interface,Picocli,我想知道我是否可以用picocli应用程序实现可滚动的结果。 例如: 它输出结果列表 >TrackA TrackB TrackC 用户可以向上或向下滚动并选择他想要的曲目? 我想知道picocli是否可以实现此功能?不幸的是,没有,只涉及如何解析命令参数并向程序员表示。任何进一步的菜单都需要由程序员处理。您可以使用一个简单的数字输入工作流来实现类似的功能。用户输入所需菜单项的编号时: >>> GetTracks 1 ) Track 1 2 ) Track 2 3

我想知道我是否可以用picocli应用程序实现可滚动的结果。 例如:

它输出结果列表

>TrackA 
 TrackB
 TrackC
用户可以向上或向下滚动并选择他想要的曲目? 我想知道picocli是否可以实现此功能?

不幸的是,没有,只涉及如何解析命令参数并向程序员表示。任何进一步的菜单都需要由程序员处理。您可以使用一个简单的数字输入工作流来实现类似的功能。用户输入所需菜单项的编号时:

>>> GetTracks

1 ) Track 1
2 ) Track 2
3 ) Track 3

select a track:
您可以通过利用类似的库来生成所需的工作流。一个非常简单的实现可能如下所示:

公共类OutputChar{
公共静态void main(字符串[]args)引发IOException{
终端=新的DefaultTerminalFactory().createTerminal();
屏幕屏幕=新终端屏幕(终端);
TextGraphics graphics=screen.newTextGraphics();
screen.startScreen();
screen.clear();
graphics.putString(0,0,“轨道1”);
graphics.putString(0,1,“轨道2”);
graphics.putString(0,2,“轨道3”);
screen.refresh();
int selectedTrack=0;
击键笔划=screen.readInput();
if(鼠标动作的笔划实例){
MouseAction动作=(MouseAction)笔划;
MouseActionType actionType=action.getActionType();
开关(动作类型){
case MouseActionType.SCROLL_UP:选择Track++;
打破
case MouseActionType.SCROLL_DOWN:selectedTrack--;
打破
}
}
screen.stopScreen();
}
}

上面的示例将从键盘或鼠标读取单个输入,并根据滚动方向更改所选曲目。您将需要进行更多的逻辑和工作流控制(以纠正一些非常明显的错误),但如果您决定走这条路,这应该可以让您开始了。

不,它不会。。。Picocli仍然是一个命令行界面,不提供滚动功能(如选择器)。但是,您可以尝试使用选项卡auto completion()实现一些功能
>>> GetTracks

1 ) Track 1
2 ) Track 2
3 ) Track 3

select a track: