Topic: 菜鸟求助~高手们帮我看看这个程序呀~谢谢~!

  Print this page

1.菜鸟求助~高手们帮我看看这个程序呀~谢谢~! Copy to clipboard
Posted by: naughty009
Posted on: 2005-05-19 21:17

如下:
import java.awt.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MyColor extends JFrame{
  public MyColor()
  {
    super("MyColor:Using colors");
    setSize(300,80);
    show();
    }
public void paint(Graphics g)
{
  Color color = Color.black;
  g.setColor(color);
  g.fillRect(25,45,100,20);
  g.drawString("RGBֵ:" + color.getRed() + "." + color.getGreen() + color.getBlue(),130,60);
  }
  public static void main(String[] args) {
    MyColor myColor = new MyColor();
    myColor.addWindowListener(new WindowListener());
    
  }
}
有这个错误:
E:\java>javac MyColor.java
MyColor.java:23: java.awt.event.WindowListener is abstract; cannot be instantiat
ed
myColor.addWindowListener(new WindowListener());
^
1 error
怎么改呀~是什么错呀?

2.Re:菜鸟求助~高手们帮我看看这个程序呀~谢谢~! [Re: naughty009] Copy to clipboard
Posted by: haofish_love
Posted on: 2005-05-19 21:47

实现 一个接口要实现它的全部方法

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

public class MyColor extends JFrame{
public MyColor()
{
super("MyColor:Using colors");
setSize(300,80);
addWindowListener(new MyListener());
show();
}
private class MyListener implements WindowListener
{public void windowActivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowClosing(WindowEvent e){System.exit(0);}
public void windowDeactivated(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}
  }
public void paint(Graphics g)
{
Color color = Color.black;
g.setColor(color);
g.fillRect(25,45,100,20);
g.drawString("RGB?:" + color.getRed() + "." + color.getGreen() + color.getBlue(),130,60);
}
public static void main(String[] args) {
MyColor myColor = new MyColor();

}
}

3.Re:菜鸟求助~高手们帮我看看这个程序呀~谢谢~! [Re: naughty009] Copy to clipboard
Posted by: Yipcong
Posted on: 2005-05-19 22:29

可以用window监听事件的适配器这不用这么烦了。如下:
.......
public static void main(String[] args) {
MyColor myColor = new MyColor();
myColor.addWindowListener(new WindowAdapter(){
//你想实现的方法,如:
public void windowClosing(WindowEvent e) {
System.exit(0);
}

}

4.Re:菜鸟求助~高手们帮我看看这个程序呀~谢谢~! [Re: naughty009] Copy to clipboard
Posted by: badmiss
Posted on: 2005-05-21 10:50

使用了 Listener 就要在 定义类后有:
接口,完全同意三娄的,哈哈
记的,( new WindowAdapter) 和(new WindowListener)的区别.
如果接口方法中要有多个方法,就一定要学会使用,...Adapter(适配器).没;每个adapter 为每个接口提供默认的方法,要做的就是从适配器处继承并重载唯一需要变更的方法>>>

5.Re:菜鸟求助~高手们帮我看看这个程序呀~谢谢~! [Re: naughty009] Copy to clipboard
Posted by: 8166680
Posted on: 2005-05-23 01:46

还有一个经验就是。注册事件源最好都在构造里面注册。在MAIN里面注册行不通


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923