我在试着写一个聊天程序,在JTextArea上输入信息之后,按ctrl+enter组合键就调用别的方法发送出信息;我如何监听组合键被按下?JTextArea上又不能用ActionListener.
是应该用KeyListener吗?我试了半天没搞出来,请高手给出代码。
是应该用KeyListener吗?我试了半天没搞出来,请高手给出代码。
解决方案 »
- java html显示applet控件问题
- 请问一下版本控制软件只能用于编程吗
- Java怎么解压带密码的ZIP文件(急用,给高分)
- 怎么把String s="abc"倒过来变成s="cba"?
- reliable transfer over udp with java sourcecode(example)
- 菜鸟求有关中文问题?
- 刚学编程,老板让我做个OA,是B/S,我想用JAVA(刚学),各位给点意见,还有有谁有这方面的文档和辕马,能否看一下,重谢!!!
- 请问第一次用jdk1.3时候,如何设置路径
- 我在APPLET中添加了LABEL,但其位置总是在APPLET的顶端的中间。请教如何将他放在规定位置
- java 表格数据更新问题
- 关于NIO(非阻塞传输)的棘手问题
- C和java的转换问题
private boolean isPressed = false;
public void show(){
JFrame frame = new JFrame(); MyTableModel tableModel=new MyTableModel();
JTable table=new JTable(tableModel);
JTextArea text = new JTextArea(3,20);
text.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e) {
if(KeyEvent.VK_CONTROL == e.getKeyCode()){
isPressed = true;
}
if(e.getKeyCode() == KeyEvent.VK_ENTER && isPressed){
JOptionPane.showMessageDialog(null,"Ctrl+Enter was pressed.");
}
}
public void keyReleased(KeyEvent e){
System.out.println(e.getKeyCode());
if(KeyEvent.VK_CONTROL == e.getKeyCode() || KeyEvent.VK_ENTER == e.getKeyCode()){
isPressed = false;
}
}
});
frame.getContentPane().add(new JScrollPane(text));
frame.setSize(300,400);
frame.show();
}
public static void main(String[] args){
Test test = new Test();
test.show();
}
}