JAVA 事例教程(1)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

// ************************************

// 一个简单的JAVA 程序

// 功能是演示一个小窗口,并具有读写文件的功能。

// @author Gaogao

// @date 2004-11-04

// ************************************

// ************************************

// 引入GUI和GUI事件处理的类,和I/O管理的类

// ************************************

import java.awt.*;

import java.awt.event.*;

import java.io.*;

// ************************************

// TestOne,一个演示菜单和按钮的Application

// 程序。

// ************************************

public class TestOne extends Frame implements ActionListener {

//继承自Frame,实现ActionListener接口

//Frame是一个窗体的框架类,Actionlistener是事件接口,实现他

//可以做事件处理。

// ************************************

// 声明变量

// ************************************

// 菜单控制

private MenuBar mb;

private Menu mFile;

private MenuItem miLoad;

private MenuItem miSave;

private MenuItem miExit;

// 按钮

private TextArea textArea;

// 磁盘管理

private File file;

// 文件名

public static final String FILENAME_STR = "Love.TXT";

// ************************************

// 构造

// ************************************

public TestOne() {

init();

putObjectsToMyFrame();

addListenersToObjects();

setTheWindow();

}

// ************************************

// 分配对象内存

// ************************************

private void init() {

mb = new MenuBar();

mFile = new Menu("File");

miLoad = new MenuItem("Load");

miSave = new MenuItem("Save");

miExit = new MenuItem("Exit");

textArea = new TextArea("");

}

// ************************************

// 装各个部件到窗口

// ************************************

private void putObjectsToMyFrame() {

setMenuBar(mb);

mb.add(mFile);

mFile.add(miLoad);

mFile.add(miSave);

mFile.add(miExit);

add(textArea);

}

// ************************************

// 设置窗口

// ************************************

private void setTheWindow() {

this.setSize(400,300);

this.show();

addWindowListener(

new WindowAdapter() {

public void windowClosing(WindowEvent we)

{

System.exit(0);

}

}

);

}

// ************************************

// 设置事件监听器

// ************************************

private void addListenersToObjects() {

miLoad.addActionListener(this);//将miLoad这个菜单的事件监听放在这个窗口的实例中

miSave.addActionListener(this);

miExit.addActionListener(this);

}

// ************************************

// 事件监听器(就是这个类的事例)监听到事件后

// 调用。此方法是ActionListener接口中抽象

// 方法的实现。

// ************************************

public void actionPerformed(ActionEvent ae) {

if (ae.getSource() == miLoad)

{

//

System.out.println("Loading");

DataInputStream dis;

try {

file = new File(FILENAME_STR);

dis = new DataInputStream(new FileInputStream(file));

textArea.setText("");

////没JAVA DOC 文档 不会写了。待完善。

dis.close();

}

catch (Exception ex)

{

System.out.println(ex.getMessage());

}

}

else if (ae.getSource() == miSave)

{

//

System.out.println("Saving");

DataOutputStream dos;

try {

file = new File(FILENAME_STR);

dos = new DataOutputStream(new FileOutputStream(file));

int i = 0;

String temp = textArea.getText();

while (i < temp.length())

{

dos.writeChar(temp.charAt(i++));

}

dos.close();

}

catch (Exception ex)

{

System.out.println(ex.getMessage());

}

}

else if (ae.getSource() == miExit)

{

//退出应用程序

System.out.println("Exit");

System.exit(0);

}

}

// ************************************

// 程序入口。

// ************************************

public static void main(String[] args) {

new TestOne();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航