java对菜单项的监听_本题的功能是监听对于菜单项和工具条的操作。窗口中有......

本题的功能是监听对于菜单项和工具条的操作。窗口中有一个菜单“Color”和一个工具体,菜单“Color”中有菜单项“Yellow”、“Blue”、“Red”和“Exit”,每个菜单项都有对应的图形,单击前三个颜色菜单项,主窗口就变成对应的颜色,单击“Exit”则退出程序。工具条上有4个按钮,分别为三个颜色按钮和一个退出程序的按钮,单击任意一个颜色按钮,主窗口将变成按钮对应的颜色,单击退出程序按钮,则退出程序。

import java.awt.*;

import java.awt.event.*;

import java.beans.*;

import javax.swin9.*;

public class java3

{

public static void main(String[]args)

{

ToolBarFrame. frame=new ToolBarFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_

ON_CLOSE);

frame.show();

}

}

class ToolBarFrame. extends JFrame

{

public ToolBarFrame()

{

setTitle("java3");

setSize(DEFAULT_WIDTH,DEFAUlT_

HElGHT);

Container contentPane=getContentPane();

panel=new JPanel();

contentPane.add(panel,BorderLayout.CEN-

TER);

Action blueAction=new ColorAction("Blue".

new ImageIcon("java3-blue-ball.gif"),Color.

BLUE);

Action yellowAction=new ColorAction("

Yellow",

new Imagelcon("java3-yellow-ball.gif"),Col-

or.YELLOW);

Action redAction=new ColorAction("Red".

new Imagelcon("java3-red-ball.gif"),Color.

RED);

Action exitAction=new

AbstractAction("Exit".new Imagelcon("java3-

exit.gif"))

{

public void actionPerformed(ActionEvent event)

{

System.exit(0);

}

};

exitAction.putValue(Action.SH()RT_DESCRIP-

TIoN,"Exit");

JToolBar bar=new JToolBar();

bar.add(blueAction);

bar.add(yellowAction);

bar.add(redAction);

bar.addSeparator();

bar.add(exitAction);

contentPane.addToolBar(bar,BorderLayout.

NoRTH);

JMenu menu=new JMenu("Color"):

menu.add(yellowAction);

menu.add(blueAction);

menu.add(redAction);

menu.add(exitAction);

JMenuBar menuBar=new JMenuBar():

menuBar.add(menu);

SetJ Menu(menuBar);

}

public static final int DEFAULT_WIDTH=300;

public static final int DEFAULT_HEIGHT

=200;

private JPanel panel;

class ColorAction extends AbstractAction

{

public ColorAction(String name,Icon icon,Color

c)

{

putValue(Action.NAME,name);

putValue(Action.SMALL_ICON,icon);

putValue(Action.SHORT_DESCRIPTION,

name+"background");

putValue("Color",c);

}

public void actionPerformed(ActionEvent evt)

{

Color C=(Color)getValue("Color");

panel.setBackcolor(c);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值