1、计算机二级 JAVA-139 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为%USER%。 在考生文件夹下存有文件名为 Java_1.java 的文件,请完善该程序并进行调试,使程序输出结果如下: (分数:30.00)_二、2简单应用题(总题数:1,分数:40.00)2.本题程序的功能是主窗口有一个按钮、一个文本域和一个复选框,初始时窗口的大小是不能调整的,勾选复选框后,窗口大小就可以进行调整,如果取消勾选复选框,则窗口的大小又不能调整,单击按钮可以关闭程序。请将下述程序补充完整(注意:不得改动程序的
2、结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; class MyFrame extends Frame_ Checkbox box; TextArea text; Button button; MyFrame(String s) super (s); box = new Checkbox(“设置窗口是否可调整大小“); text = new TextArea(12,12); button = new Button(“关闭窗口“); button.addActionListener(this); box.addItemListen
3、er(this); setBounds(100,100,200,300); setVisible(true); add(text,BorderLayout.CENTER); add(box,BorderLayout.SOUTH); add(button,BorderLayout.NORTH); _; validate (); public void itemStateChanged(ItemEvent e) if (box.getState() = true) setResizable(true); else setResizable(false); public void actionPer
4、formed(ActionEvent e) dispose(); class simple public static void main(String args) new MyFrame(“simple“); (分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)3.本题程序的功能是求两个交叉图形的并、减、交及异或。窗口中有 4 个单选按钮和一个图形面板,面板中有两个交叉的图形,选中其中一个单选按钮,图形面板中会以黑色填充的方式显示运算的结果。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.aw
5、t.event.*; import java.awt.geom.*; import java.util.*; import javax.swing.*; public class advance public static void main(String args) JFrame frame = new AreaTestFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); class AreaTestFrame extends JFrame public AreaTestFrame() set
6、Title(“advance“); setSize(WIDTH,HEIGHT); area1 = new Area(new Ellipse2D.Double(100,100,150,100); area2 = new Area(new Rectangle2D.Double(150,150,150,100); _; panel = new JPanel() public void paintComponent(Graphics g) super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; g2.draw(area1); g2.draw(ar
7、ea2); if (area ! = null) g2.fill(area); contentPane.add(panel,BorderLayout.CENTER); JPanel buttonPanel = new JPanel(); ButtonGroup group = new ButtonGroup(); JRadioButton addButtoh = new JRadioButton(“并“,false); buttonPanel.add(addButton); group.add(addButton); addButton.addActionListener(new Action
8、Listener() public void actionPerformed(ActionEvent event) area = new Area(); area.add(area1); area.add(area2); panel.repaint(); ); JRadioButton subtractButton = new JRadioButton(“减“,false); buttonPanel.add(subtractButton); group.add(subtractButton); subtractButton.addActionListener(new ActienListene
9、r() public void actionPerformed(ActionEvent event) area = new Area(); area.add(areal); _; panel.repaint(); ); JRadioButton intersectButton = new JRadioButton(“交“,false); buttonPanel.add(intersectButton); group.add(intersectButton); intersectButton.addActionListener(new ActionListener() public void a
10、ctionPerformed(ActionEvent event) area = new Area(); area.add(area1); area.intersect(area2); panel.repaint(); ); JRadioButten exclusiveOrButton = new JRadioButton(“异或“,false); buttonPanel.add(exclusiveOrButton); group.add(exclusiveOrButton); exclusiveOrButton.addActionListener(new ActionListener() p
11、ublic void actionPerformed(ActionEvent event) area = new Area(); area.add(area1); _; panel,repaint (); ); contentPane.add(buttonPanel,BorderLayout.NORTH); private JPanel pane1; private Area area; private Area area1; private Area area2; private static final int WIDTH = 400; private static final int H
12、EIGHT = 400; (分数:30.00)_计算机二级 JAVA-139 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为%USER%。 在考生文件夹下存有文件名为 Java_1.java 的文件,请完善该程序并进行调试,使程序输出结果如下: (分数:30.00)_正确答案:()解析:new new showMessageDialog解析 第 1 处:分配数组,需填入 new;第 2 处:创建一个文本输出区域,需填入 new;第 3 处:显示信息对话框函数,需填入 showMessageDialog。
13、二、2简单应用题(总题数:1,分数:40.00)2.本题程序的功能是主窗口有一个按钮、一个文本域和一个复选框,初始时窗口的大小是不能调整的,勾选复选框后,窗口大小就可以进行调整,如果取消勾选复选框,则窗口的大小又不能调整,单击按钮可以关闭程序。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; class MyFrame extends Frame_ Checkbox box; TextArea text; Button button; MyFrame(String s) super (s)
14、; box = new Checkbox(“设置窗口是否可调整大小“); text = new TextArea(12,12); button = new Button(“关闭窗口“); button.addActionListener(this); box.addItemListener(this); setBounds(100,100,200,300); setVisible(true); add(text,BorderLayout.CENTER); add(box,BorderLayout.SOUTH); add(button,BorderLayout.NORTH); _; valida
15、te (); public void itemStateChanged(ItemEvent e) if (box.getState() = true) setResizable(true); else setResizable(false); public void actionPerformed(ActionEvent e) dispose(); class simple public static void main(String args) new MyFrame(“simple“); (分数:40.00)_正确答案:()解析:implements ItemListener,Action
16、Listener。 setResizable(false)。三、3综合应用题(总题数:1,分数:30.00)3.本题程序的功能是求两个交叉图形的并、减、交及异或。窗口中有 4 个单选按钮和一个图形面板,面板中有两个交叉的图形,选中其中一个单选按钮,图形面板中会以黑色填充的方式显示运算的结果。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.util.*; import javax.swing.*; public cla
17、ss advance public static void main(String args) JFrame frame = new AreaTestFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); class AreaTestFrame extends JFrame public AreaTestFrame() setTitle(“advance“); setSize(WIDTH,HEIGHT); area1 = new Area(new Ellipse2D.Double(100,100,
18、150,100); area2 = new Area(new Rectangle2D.Double(150,150,150,100); _; panel = new JPanel() public void paintComponent(Graphics g) super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; g2.draw(area1); g2.draw(area2); if (area ! = null) g2.fill(area); contentPane.add(panel,BorderLayout.CENTER); JPa
19、nel buttonPanel = new JPanel(); ButtonGroup group = new ButtonGroup(); JRadioButton addButtoh = new JRadioButton(“并“,false); buttonPanel.add(addButton); group.add(addButton); addButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) area = new Area(); area.add(a
20、rea1); area.add(area2); panel.repaint(); ); JRadioButton subtractButton = new JRadioButton(“减“,false); buttonPanel.add(subtractButton); group.add(subtractButton); subtractButton.addActionListener(new ActienListener() public void actionPerformed(ActionEvent event) area = new Area(); area.add(areal);
21、_; panel.repaint(); ); JRadioButton intersectButton = new JRadioButton(“交“,false); buttonPanel.add(intersectButton); group.add(intersectButton); intersectButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) area = new Area(); area.add(area1); area.intersect(ar
22、ea2); panel.repaint(); ); JRadioButten exclusiveOrButton = new JRadioButton(“异或“,false); buttonPanel.add(exclusiveOrButton); group.add(exclusiveOrButton); exclusiveOrButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) area = new Area(); area.add(area1); _; pa
23、nel,repaint (); ); contentPane.add(buttonPanel,BorderLayout.NORTH); private JPanel pane1; private Area area; private Area area1; private Area area2; private static final int WIDTH = 400; private static final int HEIGHT = 400; (分数:30.00)_正确答案:()解析:Container contentPane = getContentPane()。 area.subtract(area2)。 area.exclusiveOr(a rea2)。