| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
学习型 ASP/PHP/ASP.NET 主机 35元/年全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
赛孚耐:软件保护加密专家身份认证令牌USB KEY  
共有 270 人关注过本帖
标题:第一个事件监听器有毛病。
收藏  订阅  推荐  打印 
嶄ぎ儱
Rank: 2
等级:注册会员
帖子:93
积分:1030
注册:2007-4-21
第一个事件监听器有毛病。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public abstract class ChangeT extends JFrame implements ActionListener//如果我不要abstract,在JBuilde9中
                                    就会出错,如果要了下面……

{
JButton bt1=new JButton("第一个窗口");
JButton bt2=new JButton("第二个窗口");
public ChangeT()
{
super("窗口");
setSize(200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
bt1.addActionListener(this);
bt2.addActionListener(this);
JPanel pan=new JPanel();
pan.add(bt1);
pan.add(bt2);
setContentPane(pan);
}
public static void main(String[] args)
{
JFrame cha=new ChangeT(); // 如果要了abstract这里又不对。真不知道为什么?
cha.pack();
cha.setVisible(true);
}
public void acc(ActionEvent ev)
{
Object ob=ev.getSource();
if(ob==bt1)
setTitle("第一个窗口");
if(ob==bt2)
setTitle("第二个窗口");
repaint();
}
}

[此贴子已经被作者于2007-5-25 12:01:11编辑过]

搜索更多相关主题的帖子: 毛病  监听  
2007-5-25 11:58
songwei20000
Rank: 2
等级:注册会员
帖子:82
积分:920
注册:2007-4-23

你把main里的JFRAME CHA=..这句话删了直接NEW CHANGET();THIS.PACK(),THIS,SETVISBLE(TRUE)写在构造方法里!试试行不行
2007-5-25 12:18
狂放不羁
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:12
帖子:926
积分:9436
注册:2007-1-24

有了Abstract就是抽象类,不能实例化。不加Abstract是可以的,
public void acc(ActionEvent ev)
{
Object ob=ev.getSource();
if(ob==bt1)
setTitle("第一个窗口");
if(ob==bt2)
setTitle("第二个窗口");
repaint();
}
你的这个方法没有实现ActionListener的方法,你名字错了吧。还是你复制到论坛的时候复制错了
2007-5-25 12:20
liguoshi1984
Rank: 2
等级:注册会员
帖子:89
积分:992
注册:2007-7-4

监听器必须实现接口的所有方法,否则就要将类改为抽象属性.而抽象的类是不能实例化的,这就是矛盾所在.

2007-9-1 18:51
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.054746 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved