怎么判断用户按下ctrl+c,ctrl+v

pqds 2003-07-28 11:12:34
as title!
...全文
337 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
pqds 2003-08-23
  • 打赏
  • 举报
回复
就是在一个Frame中加入了JComponent(内有键盘事件),和3个JToolBar
如果不加JToolBar(只有JComponent)则程序正常!
否则键盘事件不执行,但同时鼠标事件一直运行正常!
pqds 2003-08-23
  • 打赏
  • 举报
回复
应该还是焦点没有获取!
在Frame中!
//getContentPane().add(toolBar, BorderLayout.NORTH);
还有加入视图的语句!
如果去掉toolBar,只加视图就运行正常,但是两个都加!则不能运行键盘事件!
应该还是焦点的问题?
帮帮忙?
pqds 2003-08-21
  • 打赏
  • 举报
回复
谁给俺说说压!
relive 2003-08-21
  • 打赏
  • 举报
回复
d
pqds 2003-07-31
  • 打赏
  • 举报
回复
呵呵!up!
pqds 2003-07-31
  • 打赏
  • 举报
回复
老子UP21
pqds 2003-07-31
  • 打赏
  • 举报
回复
我继续UP
wangliandong 2003-07-30
  • 打赏
  • 举报
回复
只要是女的难淫们就会积极回贴,而且还巨详细。俺也回,虽然俺解决不了你的问题。帮你顶一下了。
pqds 2003-07-30
  • 打赏
  • 举报
回复
up!
up !up
pqds 2003-07-30
  • 打赏
  • 举报
回复
JButton也继承自JComponent怎么会不行呢!
他的确室可以得!
但为什么不调用呢!
punpuny 2003-07-30
  • 打赏
  • 举报
回复
我也碰到过类似的情况,好像是因为你的JComponent没有得到focus,isFocusTraversable只是表明通过tab键可以将焦点切到这个控件,至于是否真的得到还不一定,你可以在你的视图中重载getOwner(好像是),然后返回this试试看。
pqds 2003-07-30
  • 打赏
  • 举报
回复
up
pqds 2003-07-29
  • 打赏
  • 举报
回复
但是这个我继承字JComponent但她执行正确!
代码如下:
/**
@version 1.30 2000-06-03
@author Cay Horstmann
*/

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

public class Sketch
{
public static void main(String[] args)
{
SketchFrame frame = new SketchFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}

/**
A frame with a panel for sketching a figure
*/
class SketchFrame extends JFrame
{
public SketchFrame()
{
setTitle("Sketch");
setSize(WIDTH, HEIGHT);

// add panel to frame

SketchPanel panel = new SketchPanel();
Container contentPane = getContentPane();
contentPane.add(panel);
}

public static final int WIDTH = 300;
public static final int HEIGHT = 200;
}

/**
A panel for sketching with the keyboard.
*/
class SketchPanel extends JComponent
{
public SketchPanel()
{
KeyHandler listener = new KeyHandler();
addKeyListener(listener);
}

public boolean isFocusTraversable()
{
return true; // allow panel to get input focus
}


private class KeyHandler implements KeyListener
{
public void keyPressed(KeyEvent event)
{
int keyCode = event.getKeyCode();
System.out.println(keyCode);
// set distance
}

public void keyReleased(KeyEvent event) {}

public void keyTyped(KeyEvent event)
{
char keyChar = event.getKeyChar();

}
}
}



另外我得Frame里有一些抽象按钮!有没有影响!
pqds 2003-07-29
  • 打赏
  • 举报
回复
那我非要用JComponent那有没有别的方法!
telenths 2003-07-29
  • 打赏
  • 举报
回复
确实是这样 因为你用的只是一个 JComponent
应该用一个较为具体的组件 比如 JButton
pqds 2003-07-29
  • 打赏
  • 举报
回复
俺得意思是:
class SketchView extends JComponent implements Observer, Constants,

this.addKeyListener(*&**)

她怎么压根就不执行这里呀!
Djava 2003-07-29
  • 打赏
  • 举报
回复
JTextField txt1;
...
txt1.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){

if ((e.getKeyCode()==KeyEvent.VK_V) &&
((e.getModifiers()&KeyEvent.CTRL_MASK)==KeyEvent.CTRL_MASK))
{
System.out.println("you press ctrl+v");
...
}
}
ji_jian24 2003-07-29
  • 打赏
  • 举报
回复
mark
pqds 2003-07-29
  • 打赏
  • 举报
回复
我用同样得方式!将键盘事件!写进MVC构建得绘图程序中!
键盘事件就不执行!
telenths 2003-07-28
  • 打赏
  • 举报
回复
键盘事件 首先会有一个 event e (废话)
然后 e.getKeyChar() 会知道 你按下的是 v 还是 c
再然后 e.getModifiers() 会告诉你 是
KeyEvent.ALT_MASK
CTRL_MASK
SHIFT_MASK
etc.

明白?
加载更多回复(6)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧