问答题

下面是一个Applet程序,其功能是通过一个按钮控制一个窗口的创建,显示与隐藏,并且以按钮文字作为提示,可以随着窗口的状态改变,即如果窗口出现,则按钮文字为Hide myFrm,提示用户点击按钮,则隐藏窗口,反之亦然。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序代码文件清单如下;
import java.awt.*;
import java.applet.*;
/*
<applet code="ex20_3.class"width=800 height=400>
</applet>
*/
public class ex20_3 extends Applet

private Frame frm;
private Button showBtn;
public void init()

showBtn=new Button("Show Frame");
add(ShowBtn);

public boolean action(Event e,Object o)

ife.target==showBtn)

if(frm==null)

frm,show()

frm.dispose()
frm=null;
showBtn.setLabel("Show myFrm");

else

frm=new Frame("myFrm");
frm.resize(200,150);
frm.setBackground(Color.gray);
frm.hide()
showBtn.SetLabel("Hide myFrm");


return true;


ex02_3.html
<HTML>
<HEAD>
<TITLE>ex02_3</TITLE>
</HEAD>
<BODY>
<applet code="ex02_3.class" width=800 height+400>
</applet>
</BODy>
</HTML>

【参考答案】

frm!=null
frm.hide()
frm.show()
热门 试题

问答题
请完成下列Java程序:用一个边框布局来安排一个工具栏和一个卡片布局。工具栏可浮动,包括两个按钮,一个向前一个向后控制卡片的显示;卡片布局包括3张卡片,分别标识为card1、card2、card3。 注意;请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序代码文件清单如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.LineBorder; public class ex20_2 private static CardLayout cl=new CardLayout(); private static JPanel cp=new JPanel(); public static void main(String args[]) JFrame jf=new JFrame(); jf.setTitle( ex20_2 ); Container c=jf.getContentPane(); JToolBar jtb=new JToolBar(); JButton btnNext=new JButton(new Imagelcon( next.gif )); JButton btnPre=new JButton(new ImageIcon( back.gif )); jtb.add(btnPre); jtb.add(btnNext); cp.setLayout(c1); Dimension dim=new Dimension(150,80); cp.setPreferredSize(dim); cp.setBorder(new LineBorder(Color.BLACK)); cp.add(new JLabel( card1 ,JLabel.CENTER), card1 ); cp.add(new JLabel( card2 ,JLabel.CENTER), card2 ); cp.add(new JLabel( card3 ,JLabel.CENTER), card3 ); c.add(jtb,BorderLayout.NORTH); c.add(cp,BorderLayout.CENTER); ActionListener al=new ActionResponse(); ______; ______; if.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); ); jf.pack(); jf.setVisible(true); static class ActionResponse implements ActionListener public void actionPerformed(ActionEvent ae) if(ae.getActionCommand().equals( next )) c1.next(cp); else c1.previous(cp);