如何判断大小写的锁定状态 rt,用java哈,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议看看javadoc中KeyEvent类。里面有个方法: boolean isActionKey() Returns whether the key in this event is an "action" key. 对应的keyCode分别是: static int VK_INSERT static int VK_NUM_LOCK static int VK_CAPS_LOCK 首先添加一个文本域,向里面输入文字,然后为这个文本域添加键盘事件当你有东西输入时,它会得到你输入的文字,然后通过判断这个文字的大小写可以知道CAPS LOCK是否被按下了JTextField jtf=new JTextField(3);jtf.addKeyListener(new KeyAdapter(){public void keyTyped(KeyEvent ke){if(Character.isUpperCase(ke.getKeyChar()){System.out.println("Caps lock按下了");ke.consume();}}}); 首先添加一个文本域,向里面输入文字,然后为这个文本域添加键盘事件当你有东西输入时,它会得到你输入的文字,然后通过判断这个文字的大小写可以知道CAPS LOCK是否被按下了JTextField jtf=new JTextField(3);jtf.addKeyListener(new KeyAdapter(){public void keyTyped(KeyEvent ke){if(Character.isUpperCase(ke.getKeyChar()){System.out.println("Caps lock按下了");ke.consume();}}});似乎行不通哦,如果按着shift输入大写,能说caps lock被按下么??? //have a try:import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Locks { public static void main(String args[]) { Runnable runner = new Runnable() { public void run() { JFrame frame = new JFrame("Locks"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextArea textArea = new JTextArea(); JScrollPane scrollPane = new JScrollPane(textArea); frame.getContentPane().add(scrollPane, BorderLayout.CENTER); // Create status bar with one label per watched locking key JPanel statusBar = new JPanel(new GridLayout(1, 3)); final JLabel numLock = new JLabel("", JLabel.CENTER); statusBar.add(numLock); final JLabel capsLock = new JLabel("", JLabel.CENTER); statusBar.add(capsLock); final JLabel scrollLock = new JLabel("", JLabel.CENTER); statusBar.add(scrollLock); frame.getContentPane().add(statusBar, BorderLayout.SOUTH); setKeyStatus(numLock, KeyEvent.VK_NUM_LOCK, "Num"); setKeyStatus(capsLock, KeyEvent.VK_CAPS_LOCK, "Caps"); setKeyStatus(scrollLock, KeyEvent.VK_SCROLL_LOCK, "Scroll"); KeyListener listener = new KeyAdapter() { public void keyPressed(KeyEvent keyEvent) { if (keyEvent.getKeyCode() == KeyEvent.VK_NUM_LOCK) { setKeyStatus(numLock, KeyEvent.VK_NUM_LOCK, "Num"); } else if (keyEvent.getKeyCode() == KeyEvent.VK_CAPS_LOCK) { setKeyStatus(capsLock, KeyEvent.VK_CAPS_LOCK, "Caps"); } else if (keyEvent.getKeyCode() == KeyEvent.VK_SCROLL_LOCK) { setKeyStatus(scrollLock, KeyEvent.VK_SCROLL_LOCK, "Scroll"); } } }; textArea.addKeyListener(listener); frame.setSize(250, 150); frame.setVisible(true); } }; EventQueue.invokeLater(runner); } private static void setKeyStatus(JLabel label, int key, String prefix) { Toolkit toolkit = Toolkit.getDefaultToolkit(); String status = (toolkit.getLockingKeyState(key) ? "On" : "Off"); label.setText(prefix+status); }} 一个JTable用代码添加数据问题 我不知道这些是什么程序,应该根JAVA有关系!帮我看看! 关于按引用调用的问题 请教动态装载问题,在线等! 理行承诺,请hui_feng(盘桃2)来接分。 请教 <身份证号码的分析>的问题!~急 deleterow()的问题. 问一个关于jdbc驱动for sql 2000的问题 三层是mvc? 有知道的请帮忙。 Java Socket 在已经实现长连接的情况下,服务端该如何处理来自不同客户端数据的传递转发 JAVA菜鸟求救,用递归算法将一字符串反着输出 急急急~~~一个数组的问题
boolean isActionKey()
Returns whether the key in this event is an "action" key.
对应的keyCode分别是:
static int VK_INSERT
static int VK_NUM_LOCK
static int VK_CAPS_LOCK
当你有东西输入时,它会得到你输入的文字,然后通过判断这个文字的大小写可以知道CAPS LOCK是否被按下了
JTextField jtf=new JTextField(3);
jtf.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent ke){
if(Character.isUpperCase(ke.getKeyChar()){
System.out.println("Caps lock按下了");
ke.consume();
}}
});
首先添加一个文本域,向里面输入文字,然后为这个文本域添加键盘事件
当你有东西输入时,它会得到你输入的文字,然后通过判断这个文字的大小写可以知道CAPS LOCK是否被按下了
JTextField jtf=new JTextField(3);
jtf.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent ke){
if(Character.isUpperCase(ke.getKeyChar()){
System.out.println("Caps lock按下了");
ke.consume();
}}
});似乎行不通哦,如果按着shift输入大写,能说caps lock被按下么???
import java.awt.*;
import java.awt.event.*;public class Locks {
public static void main(String args[]) {
Runnable runner = new Runnable() {
public void run() {
JFrame frame = new JFrame("Locks");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextArea textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER); // Create status bar with one label per watched locking key
JPanel statusBar = new JPanel(new GridLayout(1, 3));
final JLabel numLock = new JLabel("", JLabel.CENTER);
statusBar.add(numLock);
final JLabel capsLock = new JLabel("", JLabel.CENTER);
statusBar.add(capsLock);
final JLabel scrollLock = new JLabel("", JLabel.CENTER);
statusBar.add(scrollLock);
frame.getContentPane().add(statusBar, BorderLayout.SOUTH); setKeyStatus(numLock, KeyEvent.VK_NUM_LOCK, "Num");
setKeyStatus(capsLock, KeyEvent.VK_CAPS_LOCK, "Caps");
setKeyStatus(scrollLock, KeyEvent.VK_SCROLL_LOCK, "Scroll"); KeyListener listener = new KeyAdapter() {
public void keyPressed(KeyEvent keyEvent) {
if (keyEvent.getKeyCode() == KeyEvent.VK_NUM_LOCK) {
setKeyStatus(numLock, KeyEvent.VK_NUM_LOCK, "Num");
} else if (keyEvent.getKeyCode() == KeyEvent.VK_CAPS_LOCK) {
setKeyStatus(capsLock, KeyEvent.VK_CAPS_LOCK, "Caps");
} else if (keyEvent.getKeyCode() == KeyEvent.VK_SCROLL_LOCK) {
setKeyStatus(scrollLock, KeyEvent.VK_SCROLL_LOCK, "Scroll");
}
}
};
textArea.addKeyListener(listener); frame.setSize(250, 150);
frame.setVisible(true);
}
};
EventQueue.invokeLater(runner);
} private static void setKeyStatus(JLabel label, int key, String prefix) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
String status = (toolkit.getLockingKeyState(key) ? "On" : "Off");
label.setText(prefix+status);
}
}