请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。 [题目要求] 生成下面左边图形界面,单击图中的New按钮,弹出如右图所示的对话框。 源程序: i

admin2012-03-21  47

问题 请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。
   [题目要求]
   生成下面左边图形界面,单击图中的New按钮,弹出如右图所示的对话框。

源程序:
   import java.awt.*;
   import java.awt.event.*;
   import javax.swing.*;
   public class Java_3 {
    public static void main(String[] args) {
     MulticastFrame frame=new MulticastFrame();
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.show();
    }
   }
   class MulticastFrame extends JFrame {
    public MulticastFrame() {
     setTitle("MulticastTest");
     setSize(WIDTH,HEIGHT);
     MulticastPanel panel=new MulticastPanel();
     Container contentPane=getContentPane();
     contentPane.add(  (1)  );
    }
    public static final int WIDTH=300;
    public static final int HEIGHT=200;
   }
   class MulticastPanel extends JPanel }
    public MulticastPanel() {
     JButton newButton=new JButton("New");
     add(newButton);
     ActionListener newListener=new ActionListener() {
       public void actionPerformed(ActionEvent event) {
         makeNewFrame();
       }
     };
     newButton.addActionListener(newListener);
     closeAllButton=new JButton("Close all");
     add(closeAllButton);
   }
   private void makeNewFrame() {
     final BlankFrame frame=new BlankFrame();
     frame.show();
     ActionListener closeAllListener=new ActionListener() {
       public void actionPerformed(ActionEvent event) {
         frame.  (2)  ();    //使窗口隐藏或消除
       }
     };
     closeAllButton.addActionListener(  (3)  );
    }
    private JButton closeAllButton;
   }
   Class BlankFrame extends JFrame {
    public BlankFrame() {
       (4)   ++;
     setTitle("Frame"+counter);
     setSize(WIDTH,HEIGHT);
     setLocation(SPACING*counter,SPACING*counter);
    }
    public static final int WIDTH=200;
    public static final int HEIGHT=150;
    public static final int SPACING=30;
    private static int counter=0;
   }

选项

答案panel hide closeAllListener counter

解析  通过下面的程序可以看出新的窗口的标题为Frame和数字,数字是自增的,所以自增的变量名称为counter。
   [程序解析] 程序在窗口中用按钮新建窗口,并且可以通过按钮关闭窗口。本程序采用的是swing类,Swing构件和AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个Swing顶层容器相关联的内容面板上。对JFrame添加构件有两种方式:①用getContentPane()方法获得JFrame的内容面板,再对其加入构件,Java上机考试中经常采用这种方式,而且也是一个考点。本程序就是采用的这种方法。②建立一个JPanel或JDesktopPane之类的中间容器,把构件添加到容器中,再用setContentPane()方法把该容器置为JFrame的内容面板。
转载请注明原文地址:https://kaotiyun.com/show/Go2p777K
0

最新回复(0)