| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:已解决[求助]简单的AWT事件模型 不知错哪了
只看楼主 加入收藏
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
 问题点数:0 回复次数:7 
已解决[求助]简单的AWT事件模型 不知错哪了

书上一个简单的AWT事件例题  我改写了下   但是不知道错哪了   请各位指教下
import java.awt.*;
import java.awt.event.*;
class Test4 extends Frame
{
    Label p1 = new Label("");
    Button p2 = new Button("显示消息");

    public Test4()
    {
        super();
        setLayout(new FlowLayout());
        add(p2);
        add(p1);
        p2.addActionListener(this);
    }
    
    class Test4 extends Frame implements ActionListener
    {
        Label p1 = new Label("");
        Button p2 = new Button("显示消息");
    
    }
    
    public void actionPerformed (ActionEvent ae)
    {
        if(ae.getActionCommand().equals("显示消息"))
        {
            p2.setLabel("隐藏消息");
            p1.setText("您好,世界");
        }
        else if(ae.getActionCommand().equals("隐藏消息"))
        {
            p2.setLabel("显示消息");
            p1.setText("");
        }
    }
    


    public static void main(String[] args)
    {
        Test4 t1 = new Test4("控制面板演示程序");
        t1.setSize(400,300);
        t1.setVisible(true);        
    }
}    

[此贴子已经被作者于2006-10-21 20:59:39编辑过]

搜索更多相关主题的帖子: AWT 模型 知错 
2006-10-21 09:31
999hits
Rank: 1
等 级:新手上路
威 望:1
帖 子:227
专家分:0
注 册:2005-10-2
收藏
得分:0 

import java.awt.*;
import java.awt.event.*;
class Test4 extends Frame implements ActionListener
{
Label p1 = new Label("");
Button p2 = new Button("显示消息");
public Test4()
{
super();
setLayout(new FlowLayout());
add(p2);
add(p1);
p2.addActionListener(this);
}
/* class Test4 extends Frame implements ActionListener
{
Label p1 = new Label("");
Button p2 = new Button("显示消息");

}*/
public void actionPerformed (ActionEvent ae)
{
if(ae.getActionCommand().equals("显示消息"))
{
p2.setLabel("隐藏消息");
p1.setText("您好,世界");
}
else if(ae.getActionCommand().equals("隐藏消息"))
{
p2.setLabel("显示消息");
p1.setText("");
}
}
public static void main(String[] args)
{
Test4 t1 = new Test4(); //"控制面板演示程序");
t1.setSize(400,300);
t1.setVisible(true);
t1.setTitle("控制面板演示程序");
}
}
去掉红色的类,因为你的类和主类同名了;
如果想添加标题,按照你的思路,你的添加标题的方法应该写再构造函数里;
就是把蓝色的部分放在构造函数里,不用注销掉绿色部分;
我只是将它直接写出来而已


J3D的摸瞎人
2006-10-21 09:48
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
是不是有了 class Test4 extends Frame implements ActionListener 初始化
就可以不用class Test4 extends Frame 了????
class Test4 extends Frame implements ActionListener 可以代替class Test4 extends Frame ???
2006-10-21 10:07
999hits
Rank: 1
等 级:新手上路
威 望:1
帖 子:227
专家分:0
注 册:2005-10-2
收藏
得分:0 
是的,在java里,一个类不可以多重继承,但可以继承很多个接口,这里的ActionListener就是个接口!!

J3D的摸瞎人
2006-10-21 10:25
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
知道了
2006-10-21 10:43
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 

又写了一段代码 导了个swing包

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

public class Test5 extends JFrame implements ActionListener
{
JButton t1 = new JButton("g");


public Test5(String s)
{
super(s);
setLayout(new FlowLayout());
add(t1);
t1.addActionListener(this);
}





public void actionPerformed(ActionEvent ae)
{
if(ae.getActionCommand().equals("g"))
{
JOptionPane.showMessageDialog(null,"成功",JOptionPane.CLOSED_OPTION);
}
}



public static void main(String[] args)
{
Test5 y1 = new Test5();
y1.setSize(100,100);
y1.setLocation(200,200);
y1.setVisible(true);
y1.setsetTitle("测试");

}




}


这个为什么就不能运行了呢?

[此贴子已经被作者于2006-10-21 10:48:36编辑过]

2006-10-21 10:44
flypoplar
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-10-9
收藏
得分:0 

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

public class Test extends JFrame implements ActionListener
{
JButton t1 = new JButton("g");
public Test()
{
}

public Test(String s)
{
super(s);
setLayout(new FlowLayout());
add(t1);
t1.addActionListener(this);
}


public void actionPerformed(ActionEvent ae)
{
if(ae.getActionCommand().equals("g"))
{
JOptionPane.showMessageDialog(null,"成功");//参数有错
}
}


public static void main(String[] args)
{
Test y1 = new Test();//这里不传值将会调用默认的构造方法,即调用的是不传参数的构造方法,所以你的代码里还差一个默认构造方法(红色部分)
y1.setSize(100,100);
y1.setLocation(200,200);
y1.setVisible(true);
y1.setTitle("测试");
}
}


为自己的梦而飞!!!
2006-10-21 11:22
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
JOptionPane.showMessageDialog(null,"成功");//参数有错

原来是这里出错
多谢谢各位指正
2006-10-21 20:59
快速回复:已解决[求助]简单的AWT事件模型 不知错哪了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017571 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved