首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【错误记录】Java AWT 图形界面编程设置键盘事件没有响应 ( 设置键盘事件 | 键盘事件必须设置到 Frame JFrame 对象上 )

一、报错信息 ---- 实现一个需求 , 按键 数字 按键 , 让 Canvas 画布中绘制的图像根据按下的数值进行缩放 ; 在 AWT 自定义 Canvas 组件中 , 添加按键事件 , 下面定义的...repaint(); // 重新绘制画布 } } }); 出现问题的博客代码 : 【Java AWT 图形界面编程】使用小键盘按键缩放...Canvas 画布中绘制的背景图像 ( 键盘按键监听 + 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 ) ; 二、解决方案 ---- 鼠标事件 , 可以添加到具体的...但是凡是涉及到 键盘 的事件 , 必须添加到顶级组件 , 也就是窗口组件上 , 如 : Frame / JFrame 组件上 , 才能生效 ; 否则就会出现上述情况 , 为 组件设置的 KeyAdapter / KeyListener...监听 , 根本不回调相应的回调函数 ; 将 KeyAdapter / KeyListener 监听器 设置到 JFrame 窗口上 , 此时在该应用中按下对应的按键 , 就会回调 keyPressed

52720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    不用任何框架开发 Web 应用程序,可能吗?

    策划 | 蔡芳芳 作者 | Jérôme Beau 译者 | 明知山 不使用框架等同于重复造轮子吗? 本文经原文作者授权、由 InfoQ 翻译并分享,转载请注明作者、译者信息和出处。...那么框架本质上就是不好的吗? 如果是为实现应用程序逻辑而创建自己的框架,那就不能说框架是不好的:任何应用程序都需要实现自己的业务规则。...如果符合以下这些情况,框架就是好的: 是应用程序特有的:任何应用程序最终都会设计自己的“业务”框架。...普通的应用出现应该使用它们吗?为了回答这个问题,让我们来看看它们是否隐含了与框架相同的缺点: 遵循语法:大多数编程语言都强制要求这么做(CoffeeScript、Elm、Kotlin 等)。...从服务器端渲染 采用普通的实现方案在一开始看起来很简单:不就是返回 HTML 吗?

    57320

    天天当键盘侠,你知道从按键到响应的底层原理吗?

    但熟归熟,清楚键盘背后的原理吗?键盘上都标有各键的名称,表明了各键所代表的意义,但是计算机是如何知道的?组合键是怎样实现的?按下一个代表字符的键,怎么变成平常使用的ASCII码的?...键盘编码器就像是键盘的嘴,让键盘能够说话,表达目前按键状态。Num Lock键和Caps Lock键的LED灯的开关也归它控制。...共用不会冲突吗?注意读写状态的不同,CPU使用int指令从8042读数据时 0x60 代表输出缓冲区,CPU使用out指令将数据写入8042时 0x60代表输入缓冲区,状态寄存器和控制寄存器同理。...也就是说键盘中断的次数不是你按键、弹起的次数,而是按键、弹起对应的通码、断码(第一套)字节数。由此可以看出平时我们敲键盘时那是发生了无数次的中断呐。 那有的按键信息不是多个字节的扫描码吗?...所以使用键盘控制输入时重要的是按键,而不是键弹起,所以只要按键对了,怎样弹起并不重要。 3. 一直按着某个键时会一直触发键盘中断,若是普通的字符键,电脑屏幕可能会出现一直打印某个字符的现象。

    1.3K30

    dota2连接服务器没有响应,win10系统dota2无法与任何服务器建立连接的解决方法

    很多小伙伴都遇到过win10系统dota2无法与任何服务器建立连接的情况,想必大家都遇到过win10系统dota2无法与任何服务器建立连接的情况吧,那么应该怎么处理win10系统dota2无法与任何服务器建立连接呢...,选择【以管理员身份运行】; 2、在命令提示符中输入:netsh winsock reset catalog 按下回车键执行命令;这样的步骤就行了;下面小编带领大家看看win10系统dota2无法与任何服务器建立连接的具体步骤...win10系统下dota2无法与任何服务器建立连接的解决方法就为大家介绍到这里了。若是你也遇到类似情况的话,不妨按照上述步骤操作看看!

    5.7K10

    Java实现坦克大战1.0

    事件监听器接口: (1)当事件源产生一个事件,可以传送给事件监听者处理 (2)事件监听者实际上就是一个类,该类实现了某个事件监听器接口比如前面我们案例中的MyPanle就是一个类,它实现了KeyListener...坦克动起来 现在我们学习java事件处理机制和java绘图技术,请试试看如何让你的坦克可以通过按键控制上右下左(wdsa表示)的移动。....*; import java.awt.event.KeyListener; public class HspTankGame02 extends JFrame { //定义MyPanel...; import java.util.Vector; /** * 坦克大战的绘图区域 */ //为了监听 键盘事件, 实现KeyListener public class MyPanel extends...JPanel implements KeyListener { //定义我的坦克 Hero hero = null; //定义敌人坦克,放入到Vector Vector

    75910

    Java图形用户界面设计AWT事件处理

    前面的文章介绍了如何放置各种组件,从而得到了丰富多彩的图形界面,但这些界面还不能响应用户的任何操作。比如单击前面所有窗口右上角的“X”按钮,但窗口依然不会关闭。...KeyEvent 键盘事件 , 当按键被按下、松开、单击时触发该事件。 MouseEvent 鼠标事件,当进行单击、按下、松开、移动鼠标等动作 时触发该事件。...选择了某些项目 ItemListener MouseEvent 鼠标移动 MouseMotionListener MouseEvent 鼠标点击等 MouseListener KeyEvent 键盘输入 KeyListener...它是一个或者多个事件监听器接口的实现类,为接口中的每个抽象方法进行了空实现,即在方法体经中没有任何语句。 当某个事件监听器接口中的抽象方法多于一个时,可能只对其中部分抽象方法的实现有需求。...WindowListener、 KeyListener, MouseListener 和 MouseMotionListener 都有一个以上的抽象方法,因此在 java.awt.event 包中提供了相应的事件适配器

    17210

    TextView属性和方法大全

    相关方法 说明 android:autoLink setAutoLinkMask(int) 是否将符合指定格式的文本转换为可单击的超链接形式 android:autoText setKeyListener(KeyListener...) 控制是否将URL、E-mail地址等连接自动转换为可单击的链接 android:capitalize setKeyListener(KeyListener) 控制是否将用户输入的文本转换为大写字母。...每个字母都大写 android:cursorVisible SetCursorVisible(boolean) 设置该文本框的光标是否可见 android:digits setKeyListener(KeyListener...该属性支持如下属性值: none:不做任何处理 start:在文本开始处截断,并显示省略号 middle:在文本中间处截断,并显示省略号 end:在文本结尾处截断,并显示省略号 marquee:使用marquee...默认值为true android:inputMethod setKeyListener(KeyListener) 为该文本框指定特定的输入法。

    2.1K50

    Java游戏编程不完全详解-3(爆肝一万七千字)

    每种事件都有对应的监听器,比如输入事件,我们有KeyListener接口来对象。...下面描述的是事件的工作流程: 用户按下键 操作系统发送键盘事件给Java运行时 java运行时产生事件对象,然后添加到AWT的事件队列中去 AWT事件分发送线程分配事件对象给任何一个KeyListeners...下面我们使用KeyListener来监听键盘事件,并且处理这些事件。...Window window = screen.getFullScreenWindow(); window.addKeyListener(keyListener); KeyListener接口定义了keyPressed...注意:Window类的setFocusTraversalKeysEnabled(false)方法是让按键聚焦在转换键事件上,转换键可以修改当前按键的焦点,然后可以让焦点移到另外的组件中去。

    2.2K10
    领券