把private 改为 public 

解决方案 »

  1.   

    楼主太粗心了,把class K中的
    public void keyPressen(KeyEvent event)
    改成
    public void keyPressed(KeyEvent event)
    字母打错了一个。楼上给你的解释有点问题,和你的错误无关。你的编译错误是:
     P.K should be declared abstract (因为接口实现方法名字错了)另外,你还有一个问题:
    public class Pkey不应该是public,key2成员是无用的。
      

  2.   

    谢谢
    public class Pkey不应该是public, 为什么不是?我java名字就是Pkey啊 呵呵但是还得 耨耨,,因为我打字母 他不出现,,,
      

  3.   

    哦,我也粗心了一次。 :(
    我以为你的java名字是P呢。sorry.
      

  4.   

    用Graphics g的draw输出字符 为什么出错了?
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;class P extends JPanel{
    private char a='a';
    private ArrayList l;

    public void paintComponent(Graphics g){
    super.paintComponent(g);
     String s=String.valueOf(a);
    l.add(s);
    g.drawString((String)l.get(0),100,200);
    }


    class F extends JFrame{
    public F(){
    setSize(500,600);
    P p=new P();
    Container c=getContentPane();
    c.add(p);
    }
    }
    public class Pri{
    public static void main(String[] args){
    F f=new F();
    f.show();
    }
    }
    编译 可以成功啊,,就是输出不了字符!! help me!谢谢
      

  5.   

    你的arraylist没有初始化
    public void paintComponent(Graphics g){
    super.paintComponent(g);
     String s=String.valueOf(a);
                       /******************/
                       l = new ArrayList();
                        /******************/ l.add(s);
    g.drawString((String)l.get(0),100,200);
    }
      

  6.   

    是不是这句有点问题???
    private ArrayList l;