栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JFrame(摆动)通过按钮切换重复动作

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JFrame(摆动)通过按钮切换重复动作

您的代码有很多 错误

它以 错误 的字符串比较开始(请参阅此处)。

但是您的实际问题是:您正在使事件调度程序线程处于 休眠状态
(请参阅此处)

因此,您与事件监听器一起 睡觉 的想法是错误的方法。你不能这样子。您必须重新考虑在那里的方法。

真正 在这里的答案是:你缺乏 基本的 Java知识。考虑学习这些基本的东西 第一 前进一步的负担过重,如果自己的Swing UI编码。

您的需求似乎是: 该按钮被击中-和一定的时间量传递要打印在控制台上的东西。您可以这样做:

public void actionPerformed(ActionEvent event) {   String command = event.getActionCommand();   command = event.getActionCommand();   Runnable printChoice = new Runnable() {     @Override     public void run() {      try{        Thread.sleep(500);        if ("choice1".equals(command)){ System.out.println("choice1");        }        else if("choice2".equals(command)){ System.out.println("choice2");        }        else{ System.out.println("no choice");        }      }         catch(InterruptedException ex){        Thread.currentThread().interrupt();      }    });    new Thread(printChoice).start();}

以上:

  • 创建一个Runnable,它只是等待然后打印一些东西
  • 使用一个新线程( 而不是 事件分配器线程)来执行此操作

我没有通过编译器来运行它-它的意思是“伪代码”,为您提供一些解决问题的方法。

但是,对此进行进一步考虑-我认为这是朝 错误的 方向进行的。你不希望 任何事情等待 ,当你制定合理的UI应用程序。

换句话说:您想到了:

  • 单击按钮A-一些代码开始“循环”
  • 当用户做出另一选择时,该“循环”代码会注意到并执行某项操作

错误的方法。而是按照以下方式工作:

  • 用户单击一个按钮,也许可以启用 其他 UI组件
  • 用户对其他UI组件执行某些操作-触发 其他 操作

示例:更改单选按钮会触发事件。您不应有定期检查这些按钮的循环。取而代之的是,您定义了用户必须遵循的明确的操作/事件流,才能触发特定操作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516231.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号