本题的功能是通过按钮来选择窗口显示的风格。窗口中有三个按钮:“Metal”、“Motif”和“Windows”,单击任何一个按钮,就能将窗口的风格改变为按钮名称所对应的风格。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class PlafPanel extends JPanei implements ActionListener
public______()
metalButton=new JButton("Metal");
motifButton=new JButton("Motif");
windowsButton=new JButton("Windows");
add(metalButton);
add(motifButton);
add(windowsButton);
metalButton.addActionListener(this);
motifButton.addActionListener(this);
windowsButton.addActionListener(this);
public void actionPerformed(ActionEvent evt)
Object source=evt.getSource();
String plaf="";
if(source==metalButton)
plaf="javax.swing.plaf.metal.MetalLookAndFeel";
else if(source==motifButton)
plaf="com.sun.java.swing.plaf.motif.MotifLookAndFeel";
else if(source==windowsButton)
plaf="com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
try
UIManager.setLookAndFeel(______);
SwingUtilities.updateComponentTreeUI(this);
catch(Exception e)
private JButton metalButton;
private JButton motifButton;
private JButton windowsButton;
class PlafFrame extends JFrame
public PlafFrame()
setTitle("simple");
setSize(300,200);
addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent e)
System.exit(0);
);
Container contentPane=getContentPane();
contentPane.add(new PlafPanel());
public class java2
public static void main(String[]args)
JFrame frame=new PlafFrame();
frame.show();
参考答案:第1处:PlafPanel
第2处:plaf
解析: 第一处由题意可知,类PlafPanel缺少构造函数,所以填PlafPanel。第二处是通过String类型的对象plaf,和UIManager.setLookAndFeel()方法实现显示风格的切换。