高手请看:TestKey should be declared abstract; it do es not define keyTyped(java.awt.e

  • 主题发起人 vigor0709
  • 开始时间
V

vigor0709

Unregistered / Unconfirmed
GUEST, unregistred user!
高手请看:TestKey should be declared abstract;
itdo
es not define keyTyped(java.awt.ev ( 积分: 200 )
<br />我在做一个java小程序,两个文本框,一个输入另一个也同时显示,一个中输入exit可以退出
这是我的代码
import java.awt.*;
import java.awt.event.*;
class TestKey implements keyListener{
public static void main(String arg[]) {
TestKey t=new TestKey();
t.go();
}
void go(){
Frame f=new Frame(&quot;TEXT&quot;);
f.setSize(150,150);
f.setLayout(new GridLayout(1,2));
Panel p=new Panel();
TextField tf11=new TextField(&quot;&quot;,20);
TextField tf22=new TextField(&quot;&quot;,20);
String tf1;
String tf2;
p.add(tf11);
p.add(tf22);
f.add(p);
f.pack();
f.setVisible(true);
f.addMouseListener(this);
}
public void MouseCLicked(MouseEvent ev){
System.out.println(&quot;dd&quot;);
}
public void KeyPressed(K
但是到这个地方我很难调试出来,请高手斧正
错误信息:
TestKey.java:4:TestKey should be declared abstract;
itdo
es not define keyTyped(java.awt.ev
ent.KeyEvent) in TestKey
public class TestKey implements KeyListener{
^
1 error
顺便告诉我怎么实现以上功能,200分送上.
 
我在做一个java小程序,两个文本框,一个输入另一个也同时显示,一个中输入exit可以退出
这是我的代码
import java.awt.*;
import java.awt.event.*;
class TestKey implements keyListener{
public static void main(String arg[]) {
TestKey t=new TestKey();
t.go();
}
void go(){
Frame f=new Frame(&quot;TEXT&quot;);
f.setSize(150,150);
f.setLayout(new GridLayout(1,2));
Panel p=new Panel();
TextField tf11=new TextField(&quot;&quot;,20);
TextField tf22=new TextField(&quot;&quot;,20);
String tf1;
String tf2;
p.add(tf11);
p.add(tf22);
f.add(p);
f.pack();
f.setVisible(true);
f.addMouseListener(this);
}
public void MouseCLicked(MouseEvent ev){
System.out.println(&quot;dd&quot;);
}
public void KeyPressed(K
但是到这个地方我很难调试出来,请高手斧正
错误信息:
TestKey.java:4:TestKey should be declared abstract;
itdo
es not define keyTyped(java.awt.ev
ent.KeyEvent) in TestKey
public class TestKey implements KeyListener{
^
1 error
顺便告诉我怎么实现以上功能,200分送上.
 
不要自己实现MouseListener接口,应当继承那个adapter的listener类。
出错的原因是因为你没有实现KeyListener声明的所有方法。
adapter对所有方法都有默认实现,你只要实现你需要实现的方法就可以了。
 
谢谢zbirh的回答,辛苦了
现在我把程序改成这样
import java.awt.*;
import java.awt.event.*;
class TestKey{
public static void main(String arg[]) {
TestKey t=new TestKey();
t.go();
}
void go(){
Frame f=new Frame(&quot;TEXT&quot;);
f.setSize(150,150);
f.setLayout(new GridLayout(1,2));
Panel p=new Panel();
TextField tf11=new TextField(&quot;&quot;,20);
TextField tf22=new TextField(&quot;&quot;,20);
String tf1;
String tf2;
p.add(tf11);
p.add(tf22);
f.add(p);
f.pack();
f.setVisible(true);
f.addKeyListener(new KeyAdapter(){public void keyTyped(KeyEvent ev){
System.out.println(&quot;dd&quot;);
}
public void keyPressed(KeyEvent ev){System.out.println(&quot;dd&quot;);}
public void keyReleased(KeyEvent ev){System.out.println(&quot;dd&quot;);} });
}
}
编译可以通过,也可运行,可是它好像不能响应事件,请高手帮我调试一下,并告诉在下,如何实现一个输入另一个也同时显示,一个中输入exit可以退出.
谢谢
 
下面代码可以实现你的要求:
package com.sysway.resources.applet;
import java.awt.*;
import java.awt.event.*;
public class Untitled1 {
Frame f=new Frame(&quot;TEXT&quot;);
Panel p=new Panel();
TextField tf11=new TextField(&quot;&quot;,20);
TextField tf22=new TextField(&quot;&quot;,20);
public Untitled1() {
}
public static void main(String[] args) {
Untitled1 untitled11 = new Untitled1();
untitled11.go();
}
void go(){
f.setSize(150,150);
f.setLayout(new GridLayout(1,2));
String tf1;
String tf2;
p.add(tf11);
p.add(tf22);
f.add(p);
f.pack();
f.setVisible(true);
//f.addKeyListener(new KeyAdapter(){public void keyTyped(KeyEvent ev){
// System.out.println(&quot;dd&quot;);
// }
//public void keyPressed(KeyEvent ev){System.out.println(&quot;dd&quot;);}
//public void keyReleased(KeyEvent ev){System.out.println(&quot;dd&quot;);} });
tf11.addKeyListener(new java.awt.event.KeyAdapter(){
public void keyReleased(KeyEvent e) {
tfl1_keyReleased(e);
}
});
tf22.addKeyListener(new java.awt.event.KeyAdapter(){
public void keyReleased(KeyEvent e) {
tf22_keyReleased(e);
}
});
}
void tfl1_keyReleased(KeyEvent e)
{
tf22.setText(tf11.getText().toString());
if (&quot;exit&quot;.equals(tf11.getText().toString()))
{
f.dispose();
}
}
void tf22_keyReleased(KeyEvent e)
{
tf11.setText(tf22.getText().toString());
if (&quot;exit&quot;.equals(tf22.getText().toString()))
{
f.dispose();
}
}
}
 
谢谢,不成敬意!
 
顶部