java lambda 实现事件监听 程序

package NEW_DATE_SEQUENCE_PACKAGE;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.File;
public class ButtonFrame 
{
    public static void main(String [] args)
    {
        EventQueue.invokeLater(()->
        {
            JFrame frame=new ButtonFrame_2();
            frame.setTitle("ImageTest...........");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
         });
    }
}
 class ButtonFrame_2  extends JFrame
{
    private JPanel buttonPanel;
    private static final int DEFAULT_WIDTH=300;
    private static final int DEFAULT_HEIGHT=200;
    public ButtonFrame_2()
    {
        setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
        buttonPanel=new JPanel();
        add(buttonPanel);
    JButton yellowButton=new JButton("yellow");
    JButton blueButton=new JButton("blue");
    JButton redButton=new JButton("red");
    JButton what=new JButton("what");

    buttonPanel.add(yellowButton);
    buttonPanel.add(blueButton);
    buttonPanel.add(redButton);
    buttonPanel.add(what);

    what.addActionListener(event->{
        buttonPanel.setBackground(Color.PINK);
    });

    ColorAction y=new ColorAction(Color.YELLOW);
    ColorAction b=new ColorAction(Color.blue);
    ColorAction r=new ColorAction(Color.RED);

    yellowButton.addActionListener(y);
    blueButton.addActionListener(b);
    redButton.addActionListener(r);

     makeButton("1",Color.GREEN);
     makeButton("2",Color.CYAN);



}

/**
     * 辅助方法
     */
    public void makeButton(String n,Color c)
    {
        JButton simpleButton=new JButton(n);
        buttonPanel.add(simpleButton);
        simpleButton.addActionListener(event->
        {
            buttonPanel.setBackground(c);

        });

    }
    private class ColorAction implements ActionListener
    {
        private Color col;

        public ColorAction(Color c)
        {
            col=c;
        }
        public void actionPerformed(ActionEvent event)
        {
            buttonPanel.setBackground(col);
        }


    }
java.awt.event.ActionEvent
    String getActionCommand();
    返回与这个动作事件关联的命令字符串。如果这个动作源自一个按钮,返回的命令字符串就是按钮的标签。除非已经用setActionCommand方法改变了命令字符串。
java.util.EventObject
    Object getSourse();
    返回发生这个事件的对象的一个引用。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值