当前位置:  技术问答>java相关

事件处理的问题

    来源: 互联网  发布时间:2015-10-23

    本文导语:  import java.awt.*; import javax.swing.*; import java.awt.event.*; class ButtonPanel extends JPanel implements ActionListener { public ButtonPanel() { JButton yellow = new JButton("yellow"); JButton blue = new JButton("blue"); add(yellow); add(blue); ...

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



class ButtonPanel extends JPanel implements ActionListener
{
public ButtonPanel()
{

JButton yellow = new JButton("yellow");
JButton blue = new JButton("blue");

add(yellow);
add(blue);

yellow.addActionListener(this);
blue.addActionListener(this);
}
public void actionPerformed(ActionEvent event)
{
Object source = event.getSource();

if( source = yellow )  //出错 variable yellow
   setBackground( Color.yellow );
else setBackground( Color.blue );
repaint();

}


}

class myframe extends JFrame
{
public myframe()
{
setSize(200,200);
setTitle("fuck");

ButtonPanel bp = new ButtonPanel();
Container c = getContentPane();
c.add(bp);

}
}

public class ButtonTest
{
public static void main(String[] args)
{
myframe mf = new myframe();
mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mf.show();
}
}


why?

|
JButton yellow = new JButton("yellow");
JButton blue = new JButton("blue");
你这两个对象是在public ButtonPanel()方法中定义的,是区域变量,出了方法外面就无法调用,虽说你是在构造函数里申明,也很容易出现这样那样的问题,建议你这样:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
{
    JButton yellow,blue;
class ButtonPanel extends JPanel implements ActionListener
{
public ButtonPanel()
{

yellow = new JButton("yellow");
         blue = new JButton("blue");

add(yellow);
add(blue);

yellow.addActionListener(this);
blue.addActionListener(this);
}
public void actionPerformed(ActionEvent event)
{
Object source = event.getSource();

if( source == yellow )  //出错 variable yellow
   setBackground( Color.yellow );
else setBackground( Color.blue );
repaint();

}


}

class myframe extends JFrame
{
public myframe()
{
setSize(200,200);
setTitle("fuck");

ButtonPanel bp = new ButtonPanel();
Container c = getContentPane();
c.add(bp);

}
}

public class ButtonTest
{
public static void main(String[] args)
{
myframe mf = new myframe();
mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mf.show();
}
}


|
if( source == yellow )
要用双等号,不能用单等号。

|
呵呵,楼主应该是不小心啦,不过以后自己也要仔细一点,这种问题查一下很容易就发现的。

    
 
 

您可能感兴趣的文章:

  • Python 3 Tkinter教程之事件Event绑定处理代码实例
  • 使用epoll lt或者et 每次wait到一个事件处理完后是否需要重新投递事件呢?
  • asp.net Textbox控件注册回车事件与触发按钮提交事件的实现方法 iis7站长之家
  • jsp中怎样加入普通按钮的事件处理?
  • 键盘事件处理的JS库 Kibo
  • 异步事件处理库 libevent
  • JAVA事件处理
  • java的事件处理机制如何运用?
  • 事件处理规则语言 Prova
  • 怎么写ActiveX控件的事件处理函数?
  • 怎么处理这样的事件
  • 当一个窗口显示后,用鼠标拖动它的大小,怎样找到相应的事件处理函数?
  • C#事件处理和委托event delegate实例简述
  • jQuery的live()方法对hover事件的处理示例
  • gtk中的鼠标事件处理?
  • 老兄,帮我看看键盘事件处理的问题
  • 一个关于java事件处理的简单问题!
  • C#控制台程序中处理2个关闭事件的代码实例
  • 事件处理小问题~~~~~~~~在线等!!
  • asp.net错误处理Application_Error事件示例
  • 单击和双击事件的冲突处理示例代码
  • 新手问题:linux的安全事件和系统事件有没有什么文件可查,或者命令查?知道的都来答啊~~~~~~~~
  • 关于事件的问题,dyroro(丢丢) 请进!
  • jquery动态添加元素事件失效问题解决方法
  • 关于swing事件的问题
  • 请问关于socket客户端因事件启动新线程的问题.高手请进
  • 关于事件响应的问题????
  • 关于等待某个事件的问题
  • 关于Gtk treeview的事件问题。
  • *** 高分请问关于触发消息事件的问题? ***
  • GTK+问题:delete_event到底是信号还是事件?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • window.onload事件覆盖掉body onload事件(window.onload和html body onload事件冲突)解决办法
  • JQuery文本改变触发事件如聚焦事件、失焦事件
  • IOS开发:UIScrollView类介绍及如何简单地截获touch事件
  • 我的一个jComboBox下拉组件,在加入itemStateChanged()监听事件后速度就非常慢,我在事件响应部分没有加任何代码也是慢?去掉监听事件后就一切正常,为何?
  • 事件能传递吗,就是子类触发了一个鼠标事件,能不能也将这个鼠标事件发给父类
  • jquery阻止后续事件只执行第一个事件
  • 在JBuilder中窗体的什么事件与Delphi中的窗体的CloseQuery事件相同?
  • swing事件里怎么没有鼠标右键产生的事件?
  • jquery button默认enter事件(回车事件)
  • 我用画布(Canvas类)接受MouseEvent事件,但我又想这个事件的getX()方法返回的坐标是以窗口的原点为原点,该怎么办?
  • JTextArea 怎么没有textChanged事件?怎样实现这个事件?(一定有分)
  • Linux下不能播放音乐,我用的是Red Hat 9,启动事件音效时有事件声音,但是在播放MP3或视频时却无声音
  • asp.net Textbox控件注册回车事件与触发按钮提交事件的实现方法
  • jQuery中事件对象e的事件冒泡用法示例介绍
  • java抓取鼠标事件和鼠标滚轮事件示例
  • C# DoubleClick与MouseDoubleClick区别,双击事件引发顺序
  • 如何响应JTREE中的节点点击事件??
  • jquery onpropertychange键盘事件用法举例
  • 如何使一个按钮响应多个事件?过来侃侃@!!!!
  • 事件捕获
  • 如何得到mouseRelease事件。详情见内。谢谢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3