问题 多项选择题

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

public static void main(String[]args)

ToolBarFrame frame=new ToolBarFrarne();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();


class ToolBarFrame extends JFrame

public ToolBarFrame()

setTitle("java3");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
Container contentPane=getContentPane();
panel=new JPanel();
contentPane.add(panel,BorderLayout.CENTER);

Action blueAction=new ColorAction("Blue",
new ImageIcon("java3-blue-ball.gif"),Color.BLUE);Action yellowAction=new ColorAction("Yellow",
new ImageIcon("java3-yellow-ball.gif"),Color.YELLOW);Action redAction=new ColorAction("Red",
new ImageIcon("java3-red-ball.gif"),Color.RED);Action exitAction=newAbstractAction("Exit",new ImageIcon("java3-exit.gif"))public void actionPerformed(ActionEvent event)System.exit(0);;
exitAction.putValue(Action.SHORT_DESCRIPTION_"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);
SetJMenu(menuBar);public static final int DEFAULT_WIDTH=300;
public static final int DEFAULT_HEIGHT=200;
private JPanel panel;
class ColorAction extends AbstractActionpublic 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)getValuc("Color");
panel.setBackcolor(c);

答案

参考答案:第A处:contentPane.add(bar,BorderLayout.NORTH)
第B处:setJMenuBar(menuBar)
第C处:panel.setBackgroud(c)

解析: 第1处将工具条添加到容器内使用的方法应为add;第2处的上一步为将menu添加到menuBar中,从这一步的参数为menuBar可看出应为setJMenuBar;第3处设置面板的背景颜色应使用的方法为setBackgroud()。

单项选择题
单项选择题