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水木清华站∶精华区