题目内容 (请给出正确答案)
[主观题]

本题的功能是监听对于菜单项和工具条的操作。窗口中有一个菜单“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);

}

}

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
赏学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
赏学吧
点击打开微信