BBS水木清华站∶精华区
发信人: ars (胖), 信区: Java
标 题: Re: Java Application求助
发信站: BBS 水木清华站 (Sun Jan 3 13:13:30 1999)
【 在 Jerrey (颢子) 的大作中提到: 】
∶ 上站SMTH真是不易. 老板要偶写一个Java Application, 完成一个GUI. 实际上就是节点
∶ 和连接的问题. 每个节点是一个小的icon, 每个连接是从一个节点到另一个节点的线段.
∶ 要求可以用鼠标drag这些节点移动位置, 并且可以用right-click节点来设置节点的属性.
∶ 哪位高手能告知最好怎么办? 只要概略就行, 节点应该extend哪个class, 连接应该extend
∶ 哪个class. 当然是要一个Frame的乐, 然后呢 ?
∶ 超级入门问题, 见笑
结点extends panel,连接EXTENDS GRAPHICS,在每个PANEL内画出图标,即可实现拖动,
每个连接得到两个PANEL位置,DRAWLINE。JAVA可接收右建事件。可以NEW一个FRAME来作
设置
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.6.124]
发信人: deaf (小二黑), 信区: Java
我在applet中想处理键盘按一次的消息,keyTyped
但是,我用下面这个程序时,每按一次键却打印出两条消息。
请问我应该怎么改?
谢谢指教!�
public void processKeyEvent(KeyEvent e)
{
int keyPressed=e.getKeyCode();
switch( keyPressed )
{
case KeyEvent.VK_S:
System.out.println("keyboard S pressed!");
break;
}
}
发信人: ft (甜甜甜), 信区: Java
【 在 deaf (小二黑) 的大作中提到: 】
∶ 我在applet中想处理键盘按一次的消息,keyTyped
∶ 但是,我用下面这个程序时,每按一次键却打印出两条消息。
∶ 请问我应该怎么改?
∶ 谢谢指教!?
∶ public void processKeyEvent(KeyEvent e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
偶觉得泥应当重写keyTyped这个method,这个processKeyEvent在KeyListener里面
并没有,难道可以自己定义吗?偶不太清楚,大家一起讨论。
∶ {
∶ int keyPressed=e.getKeyCode();
∶ switch( keyPressed )
∶ {
∶ case KeyEvent.VK_S:
∶ System.out.println("keyboard S pressed!");
∶ break;
∶ }
∶ }
发信人: deaf (小二黑), 信区: Java
【 在 ft (甜甜甜) 的大作中提到: 】
∶ 【 在 deaf (小二黑) 的大作中提到: 】
∶ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
∶ 偶觉得泥应当重写keyTyped这个method,这个processKeyEvent在KeyListener里面
∶ 并没有,难道可以自己定义吗?偶不太清楚,大家一起讨论。
∶
∶
processKeyEvent is a Method in class java.awt.Component
then I can override it in my applet
请问若用KeyListener该怎么改?
thanks
发信人: ft (甜甜甜), 信区: Java
偶觉得应该酱紫:
首先定义一个
Class **** implements KeyListener{
//在这个class里,重写:
keyTyped(KeyEvent e){
//写上泥要做的事,比如System.out.println();
}
}
最后再加上Component.addKeyListener(****);
因为泥要处理事件,那么应该改写从java.awt.event.*当中的类里的方法。
偶的理解事这样。但没上机事过
【 在 deaf (小二黑) 的大作中提到: 】
∶ processKeyEvent is a Method in class java.awt.Component
∶ then I can override it in my applet
∶ 请问若用KeyListener该怎么改?
∶ thanks
发信人: jerk (无限), 信区: Java
【 在 deaf (小二黑) 的大作中提到: 】
∶ 我在applet中想处理键盘按一次的消息,keyTyped
∶ 但是,我用下面这个程序时,每按一次键却打印出两条消息。
∶ 请问我应该怎么改?
∶ 谢谢指教!�
∶ public void processKeyEvent(KeyEvent e)
∶ {
∶ int keyPressed=e.getKeyCode();
∶ switch( keyPressed )
∶ {
∶ case KeyEvent.VK_S:
∶ System.out.println("keyboard S pressed!");
∶ break;
∶ }
∶ }
你处理的是键盘的keyevent事件,
当S键被press或者release时,都会产生keyevent事件
而两次作用的键都是"S"键,所以getKeyCode()返回的
都是VK_S,所以你就会打印出两条消息啦...
改的话应该处理键盘的Keypressed或者keytyped消息。
BBS水木清华站∶精华区