- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我们要为菜单项设置一个助记符,我们希望它是'c'
。我注意到几乎所有的代码都写成:
menuitem.setMnemonic(KeyEvent.VK_C);
我知道我们可以这样写:
menuitem.setMnemonic('c');
然而,第一个变体似乎更常见。这是为什么?为什么我们不只使用简单的字符而不是像 KeyEvent.VK_C
这样的东西?第一个代码比第二个有什么优势?
最佳答案
在第二个例子中,字符“c”是一个“魔法”字符。它现在恰好是正确的值,但将来可能不是。如果它真的改变了,就必须有人去找到所有输入“c”的地方并修复它。如果使用常量表达式,如第一个示例,则只需更改一个地方。
你可能会想“但它当然不会改变,它永远只是'c'”。肯定有一些时候常量可能会矫枉过正。例如,如果魔法值只使用一次,或者是一个 100% 永远不会改变的值。但是考虑一下它是否会变成 'c\special-character' 之类的。使用常量代替魔术字符串或字符更安全,也是最佳实践。
关于java - 为什么我们使用KeyEvent.VK_?而不是简单地使用角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57632671/
我想要一个包含所有 VK 值的数组,以便我可以询问是否按下了某个键 public class Input implements KeyListener{ boolean[] keyPresse
我想要一个可以单击某个键的方法 public void pressKey ( KeyEvent keyName ) { // what class must keyName belong to ?
假设我们要为菜单项设置一个助记符,我们希望它是'c'。我注意到几乎所有的代码都写成: menuitem.setMnemonic(KeyEvent.VK_C); 我知道我们可以这样写: menuitem
例如 VK_LEFT、VK_DELETE、VK_ESCAPE、VK_RETURN 等。它们是如何声明的,在哪里声明的?它们是常量、#defines 还是其他?它们来自哪里? 如果可能,请提供声明它们的
我正在阅读 - Charles Petzold's book on C++ Windows 的摘录 它指出 The virtual key codes you use most often have
import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Graphic
我只是找不到它的名字。 最佳答案 用类似的东西实现一个关键的监听器 public void keyPressed(KeyEvent e) { System.out.println("Key p
我一直在研究 IShellLink 接口(interface),对热键组合的映射方式感到困惑。 当只应用单个热键时,返回值对应于记录的虚拟键码;例如F5 == 0x74 但是,当使用组合时,会返回一个
给定一个来自 KeyEvent.VK_[value] 的整数,例如 KeyEvent.VK_SPACE 或 KeyEVENT.VK_F3,我会就像将其转换为 key 的字符串。 例如keyIntToS
我是一名优秀的程序员,十分优秀!