import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /*
* 主窗体 */
public class MyFrame extends Frame { private static final long serialVersionUID = 6895463895656626294L; private Frame frmMain; // 窗体 MenuBar mb; // 菜单栏 Menu mnuFile; // \文件\菜单 Menu mnuEdit; // \编辑\菜单 MenuItem miOpen; // \打开\菜单项 MenuItem miSave; // \保存\菜单项 MenuItem miClose; // \关闭\菜单项 MenuItem miCopy; // \复制\菜单项 MenuItem miPaste; // \粘贴\菜单项 public MyFrame() { frmMain = new Frame(\主窗体\); // 创建菜单栏 mb = new MenuBar(); // 创建菜单 mnuFile = new Menu(\文件\); mnuEdit = new Menu(\编辑\); // 创建菜单项 miOpen = new MenuItem(\打开\); miSave = new MenuItem(\保存\); miClose = new MenuItem(\关闭\); miCopy = new MenuItem(\复制\); miPaste = new MenuItem(\粘贴\); } public void showFrame() { frmMain.setSize(800, 600); frmMain.setLocation(100, 100); frmMain.setBackground(Color.white); frmMain.setVisible(true); frmMain.setLayout(null);
16
frmMain.addWindowListener(new WindowHandler()); // 注册窗口监听器 // 将菜单栏放入窗体中 frmMain.setMenuBar(mb); // 将菜单放入菜单栏中 mb.add(mnuFile); mb.add(mnuEdit); // 将菜单项放入菜单中 mnuFile.add(miOpen); mnuFile.add(miSave); mnuFile.add(miClose); mnuEdit.add(miCopy); mnuEdit.add(miPaste); // 注册动作事件监听器 miClose.setActionCommand(\); miClose.addActionListener(new MenuHandler()); } // 定义一个内部类,在这个类中编写窗口关闭事件处理程序。 private class WindowHandler extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); // 退出应用程序,状态码 0 表示正常终止,非 0 表示异常终止。 } } // 定义一个内部类,在这个类中编写动作事件处理程序。 private class MenuHandler implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getActionCommand() == \) { System.exit(0); // 退出应用程序 } } } }
public class TestMyFrame { public static void main(String[] args) { // 启动主窗体 MyFrame guiWindow = new MyFrame();
17
}
}
guiWindow.showFrame();
18
《JAVA语言程序设计》练习题4
一、 单选题
1、下列程序段执行后的结果是( )。
String s = new String(\for (int i=0; i A) aceg B) ACEG C) abcdefg D) abcd 2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ). A) 2 7 8 12 35 C) 35 12 8 7 2 B) 12 35 8 7 2 D) 8 7 12 35 2 3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。 File f = new File(填代码处); file =new FileReader(f); in=new BufferedReader(file); A) \ B) \ C) \ D) \ 4、应用程序的main方法中有以下语句,则输出的结果是 ( )。 String s1=new String(\ String s2=new String(\ boolean b1=s1.equals(s2); boolean b2=(s1==s2); System.out.print(b1+\ \ A)true false B) false true C) true true D)false false 5、应用程序的main方法中有以下语句,则输出的结果是 ( )。 Hashtable hashtable=new Hashtable(); hashtable.put(\ hashtable.put(\ hashtable.put(\ System.out.println(hashtable.get(\ A) a B) abcde C) 12345 D) 67890 6、下面语句的功能是( )。 RandomAccessFile raf2 = new RandomAccessFile(\ 19 A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。 C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。 D) 以上说法都不对。 7、应用程序的main方法中有以下语句,则输出的结果是 ( )。 String s=\ int n=s.indexOf(\ int k=s.indexOf(\ int m=s.indexOf(\ String s2=s.substring(m+1); System.out.println(s2); A) 123456 B) 67890 C) aaa D) bbb 8、下面程序段执行后b的值是( )。 Integer integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true C) 1 D) false 9、应用程序Test.java的源程序如下,在命令行键入: java Test aaa bb c 回车后输出的结果是 ( )。 public class Test { public static void main(String args[]) { int k1=args.length; int k2=args[1].length(); System.out.print(k1+\ \ } } A) 3 2 B)1 2 C) 1 3 D) 3 3 10、应用程序的main方法中有以下语句,则输出的结果是 ( int b[][]={{1}, {2,2}, {2,2,2}}; int sum=0; for(int i=0;i 20 )。