我正在尝试将自己的跨平台替换为控制台以进行测试。我目前正在将system.out和system.in成功重定向到GUI Textpane。当扫描仪调用next或nextLine等时,系统允许我输出和输入文本。
我的问题是目前我的Textpane一直都是可编辑的,但是更像是我操作的Windows控制台我希望它只有在system.in没有可用的读取输入时才可编辑请求。所以目前我对system.in的输入流是一个PipedInputStream。我尝试覆盖读取和可用的方法,但它们似乎只在阻塞(等待输入)已经发生后才被调用。我正在寻找一些方法来学习何时在阻塞之前要求输入system.in,以便我可以设置我的Textpane可编辑(请注意,我可以在read方法中轻松设置它无法使用)。