站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题如何判断大小写的锁定状态

如何判断大小写的锁定状态

摘要: 如何判断大小写的锁定状态


rt,用java哈,谢谢


有意思 帮D


建议看看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


mark~


首先添加一个文本域,向里面输入文字,然后为这个文本域添加键盘事件
当你有东西输入时,它会得到你输入的文字,然后通过判断这个文字的大小写可以知道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();
}

}
});


KeyEventisActionKey


帮顶


帮你顶 UP


有意思,收藏


帮顶


帮顶


mark....


没觉得会有实际用处


楼上的:登陆的时候输入密码提醒用户


页面上用js来判断



首先添加一个文本域,向里面输入文字,然后为这个文本域添加键盘事件
当你有东西输入时,它会得到你输入的文字,然后通过判断这个文字的大小写可以知道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被按下么???


mark!


关注,


//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);
}
}



楼上代码有效,结贴了,寻求更好方案


↑返回目录
前一篇: 写了个Applet,大家来看看
后一篇: 一个简单的问题..