Java GUI程序运行时如何实时打印文本框输入内容?求伪代码思路
实现方案伪代码
方案1:监听控制台回车触发打印
这种方式不需要修改原有GUI类代码,完全在main方法所属的类中实现逻辑,getLength()方法可随时被其他类调用获取最新值:
public class Main { // 线程运行标记,避免程序无法正常退出 private static volatile boolean isRunning = true; public static void main(String[] args) { GUI userInterface = new GUI(); // 启动独立线程监听回车事件,避免阻塞GUI渲染线程 new Thread(() -> { Scanner consoleScanner = new Scanner(System.in); while(isRunning) { // 阻塞等待用户按下回车键 consoleScanner.nextLine(); // 调用GUI实例的getLength()获取文本框当前值并打印 System.out.println(userInterface.getLength()); } consoleScanner.close(); }).start(); } // 程序退出前调用该方法终止监听线程 public static void stopMonitor() { isRunning = false; } }
方案2:监听GUI文本框内回车触发打印
如果需要用户在GUI的文本框内按下回车就触发打印,可直接在业务类中给GUI组件加监听器,不需要将打印逻辑耦合到GUI类的actionPerformed中,getLength()依然可复用:
public class Main { public static void main(String[] args) { GUI userInterface = new GUI(); // 给文本框添加回车事件监听器,逻辑写在业务类中 userInterface.getLengthEntry().addActionListener(e -> { // 调用getLength()获取值,可传给任意其他业务类处理 String currentVal = userInterface.getLength(); System.out.println(currentVal); // 示例:其他类调用处理 // BusinessHandler.process(currentVal); }); } }
内容的提问来源于stack exchange,提问作者numb31
相关产品推荐
相关产品推荐

