问题1

    技术2022-05-11  70

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

    public class  HelloJava3 extends  JComponent  implements MouseMotionListener,ActionListener{   int mx=145,my=79;  // initial x,y 的坐标   String theMe;// message   JButton theButton;

       //create someColors arry[]   int colorIndex;   static Color[] someColors={    Color.black,Color.blue,Color.cyan,Color.darkGray,Color.darkGray,Color.green,    Color.orange   };

       public HelloJava3(String message){    theButton=new JButton("Change Color");    theMe =message;    setLayout(new FlowLayout());    add(theButton);    theButton.addActionListener(this);    addMouseMotionListener(this);

       }

       public void paintComponent(Graphics g){   g.drawString("Happy new year",125,100);   g.drawString("fill",125,95);   g.drawString(theMe,mx,my);

     

      }

      public void  mouseDragged(MouseEvent e){   mx=e.getX();   my=e.getY();   repaint();

      }

      public void mouseMoved(MouseEvent e){   //这里没有代码表示可以忽略这个方法  }

      public void actionPerformed(MouseEvent e){   if (e.getSource()==theButton)    changeColor();

      }  // 第一次用sychronized

      synchronized private void changeColor(){   //递增索引   if (++colorIndex==someColors.length)    colorIndex=0;    setForeground(currentColor());    repaint();

      }

      synchronized private Color currentColor(){   return someColors[colorIndex];

      }  public static void main (String[] args) {         JFrame f=new JFrame("HelloJava3");         f.addWindowListener(new WindowAdapter(){          public void windowClosing(WindowEvent we){           System.exit(0);          }         });         f.setSize(250,250);         f.getContentPane().add(new HelloJava3("Hello !Java"));         f.setLocation(500,500);          f.setVisible(true);

          }

    }

    /*E:/Java/jkk/HelloJava3.java:5: HelloJava3 不是抽象的,并且未覆盖 java.awt.event.ActionListener 中的抽象方法 actionPerformed(java.awt.event.ActionEvent)public class  HelloJava3*/

    //我写的程序为什么编译时会出现这个问题?求助!!!!


    最新回复(0)