填空题

本题的功能是监听对于菜单项和工具条的操作。窗口中有一个菜单“Color”和一个工具体,菜单“Color”中有菜单项“Yellow”、“Blue”、“Red”和“Exit”,每个菜单项都有对应的图形,单击前三个颜色菜单项,主窗口就变成对应的颜色,单击“Exit”则退出程序。工具条上有4个按钮,分别为三个颜色按钮和一个退出程序的按钮,单击任意一个颜色按钮,主窗口将变成按钮对应的颜色,单击退出程序按钮,则退出程序。
import java. awt. * ;
import java. awt. event. * ;
import java. beans. * ;
import javax. swing. * ;
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_HEIGHT);
Container contentPane=getContentPane();
panel=new JPanel();
contentPane. add(panel, BorderLayout. CENTER);
Action blueAction=new ColorAction("Blue",
new Imagelcon("java3-blue--ball. gif"), Color.BLUE);
Action yellowAction=new ColorAction ("Yellow",
new Imagelcon("java3-yellow-ball. gif"), Color. YELLOW);
Action redAction=new ColorAction("Red",
new ImageIcon("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. SHORT_DESCRIPTION, "Exit");
JToolBar bar=new JToolBar();
bar. add(blueAction);
bar. add(yellowAction);
bar. add(redAction);
bar. addSeparator();
bar. add(exitAction);
contentPane, addTootBar(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);


【参考答案】

第A处:contentPane. add(bar, BorderLayout. NORTH)
第B处:setJ......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

填空题
本题的功能是用按钮来控制文字的颜色。窗口中有三个按钮“Yellow”、“Blue”和“Red”,它们分别对应文字标签中文本的颜色为黄色、蓝色和红色,单击任意一个按钮,文字标签中的文本就变成按钮对应的颜色。 import java. awt. * ; import java. awt. event. * ; import javax. swing. * ; class ButtonPanel extends JPanel implements ActionListener public ButtonPanel() yellowButton=new JButton( Yellow ); blueButton=new JButton( Blue ); redButton=new JButton( Red ); jl=new JLabel( I am from China! ); add(yellowButton); add(blueButton); add(redButton); add(jl); yellowButton. addActionListener(this); blueButton. addActionListener(this); redButton. addActionListener(this); public void actionPerformed(ActionEvent evt) Object source=evt. getSource(); Color color=getForeground(); if(source==yellowButton) color=Color. yellow; else if(source==blueButton) color=Color. blue; else if(source==redButton) color=Color. red; ______; ______; private JButton yellowButton; private JButton blueButton; private JButton redButton; private JLabel jl; class ButtonFrame extends JFrame public ButtonFrame() setTitle( exam_16 ); setSize(300,200); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System. exit(0); ); Container contentPane=getContentPane(); contentPane, add(new ButtonPanel()); public class java2 public static void main(String[] args) JFrame frame=new ButtonFrame(); frame. show();