标题:[求助]关于组合键的使用
取消只看楼主
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
 问题点数:0 回复次数:3 
[求助]关于组合键的使用

最近在做一个模拟中文输入的application程序.
在中间要用到 ctrl+SPACE,请问,怎么做才能实现ctrl+SPACE,怎么才能与其它的按下单一的键进行区别开来,
,还有一个小问题是,怎么来从键盘事件中捕获中文呢?
急......

[此贴子已经被作者于2007-2-6 17:44:45编辑过]

搜索更多相关主题的帖子: SPACE 键盘 中文 application 
2007-02-06 17:44
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
我试下.

Java与你共枕.
2007-02-06 21:00
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 

up.
没做成功.请大家帮一下.
代码如下.

package jdialog_test_extends;

/*********************************************
*author @scoladi
*JDialog_test JDialog_test_extends.java
**********************************************/

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class JDialog_test_extends extends JDialog implements KeyListener
{
JLabel about;
JTextField jtf;//英文下进行输入
char input;
boolean flag=false;
public JDialog_test_extends() {
this.setTitle("对话使用.测试");
about = new JLabel("JDialog使用方法测试");
about.setHorizontalAlignment(SwingConstants.CENTER);
this.getContentPane().add(about, BorderLayout.NORTH);//加入第一个组件
this.addWindowListener(new WindowAdapter()
{ /**********************/
public void windowClosing(WindowEvent e)//重写了窗口事件. 是为了能使整个进程都停下.
{ /**********************/
dispose();
System.exit(0);
}
});
JDialog.setDefaultLookAndFeelDecorated(true);//static mothed
jtf =new JTextField(10);//10 columns
this.getContentPane().add(jtf, BorderLayout.SOUTH);//加入第二个组件
jtf.addKeyListener(this);
}

public static void main(String[] args) {
JDialog_test_extends mm=new JDialog_test_extends();
mm.setBounds(400,400,100,80);
mm.pack();
mm.show();
}
public void keyPressed(KeyEvent e)
{
if(e.getKeyChar()==KeyEvent.VK_SPACE)//空格键的判断
{
/**********************/
dispose(); //通过这种方式进行,达到空格键退出的操作.
System.exit(0);//把dispose()放于此能更好的退出.
} /**********************/
else if(e.getModifiersEx()==(e.CTRL_DOWN_MASK+e.VK_SPACE ))
{
about.setText("测试 进入输入法.");
flag=true;//用来设置其输入状态的标记.
}
else
{
if(flag==true) //用于字符串的输入方法
{
about.setText("进入flag=true测试");
flag=false;
}
else //if(e.getKeyChar()!=)
{ //专门用于字符输入的方法.
String sti_chr; /*************************/
sti_chr=Character.toString(e.getKeyChar());//格式转化
about.setText(sti_chr); /*************************/
}
}
}
public void keyReleased(KeyEvent e)
{

}
public void keyTyped(KeyEvent e)
{

}
}
无法捕获ctrl+space键,且,中文无法让其展示到标签上,请帮看下.谢谢.


Java与你共枕.
2007-02-09 14:28
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
谢谢楼上的帮助,解决了.
真是谢谢你了.


Java与你共枕.
2007-02-09 21:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-119937-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.499541 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved