標籤:java執行個體小項目 記事本
//package mymenu;
//java記事本
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MenuLianXi {
//定義表單
private Frame f;
//定義功能表列
private MenuBar menubar;
//定義文本區
private TextArea textarea;
//定義菜單
private Menu file_menu;
//定義功能表項目
private MenuItem close_Item,open_Item,save_Item;
//定義顯示對話方塊
private FileDialog openDia,saveDia;
//定義一個檔案,用來儲存
private File file;
//定義建構函式
MenuLianXi() {
//在建構函式裡添加init()方法。
init();
}
//定義設定UI的介面的方法。
public void init()
{
//設定表單的基本資料
f=new Frame("我的記事本");
f.setBounds(300,100,650,600);
//f.setLayout(new FlowLayout());
//初始化功能表列
menubar=new MenuBar();
//初始化文本區
textarea=new TextArea();
//初始化菜單
file_menu=new Menu("檔案");
//初始化功能表項目
open_Item=new MenuItem("開啟");
close_Item=new MenuItem("退出");
save_Item=new MenuItem("儲存");
//在菜單裡添加功能表項目或者子功能表
file_menu.add(open_Item);
file_menu.add(save_Item);
file_menu.add(close_Item);
//在功能表列裡添加菜單
menubar.add(file_menu);
//在表單裡添加功能表列
f.setMenuBar(menubar);
//初始化對話方塊
openDia=new FileDialog(f,"我的開啟",FileDialog.LOAD);
saveDia=new FileDialog(f,"我的儲存",FileDialog.SAVE);
//在表單中添加文本區
f.add(textarea);
//添加監聽器
myEvent();
//設定表單可見
f.setVisible(true);
}
////定義myEvent方法添加監聽器
public void myEvent()
{
//為儲存功能表項目添加活動監聽
save_Item.addActionListener(new ActionListener(){
//複寫actionPerformed方法
public void actionPerformed(ActionEvent e)
{
//如果檔案不存在,給檔案初始化
if(file==null)
{
//設定視窗可見
saveDia.setVisible(true);
//擷取檔案目錄,與檔案
String dirPath=saveDia.getDirectory();
String fileName=saveDia.getFile();
//不操作任何檔案,取消操作
if(dirPath==null||fileName==null)
return ;
file =new File(dirPath,fileName);
}
try{
//定義一個寫入流,向檔案裡寫入文本
BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
//定義字串接收文本呢區的文本。
String text=textarea.getText();
//向文本裡寫入文本呢資訊。
bufw.write(text);
//關閉寫入流。
bufw.close();
}
catch(IOException e4)
{
throw new RuntimeException();
}
}
});
//為開啟功能表項目添加活動監聽
open_Item.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
openDia.setVisible(true);
//擷取對話方塊裡目錄
String dirPath=openDia.getDirectory();
//擷取對話方塊裡檔案名稱
String fileName=openDia.getFile();
//System.out.println(dirPath+"--"+fileName);
//避免發生null 指標異常
if(dirPath==null||fileName==null)
return ;
//清空文本區
textarea.setText("");
//定義檔案和檔案目錄對象
file=new File(dirPath,fileName);
try{
//調用BufferedReader讀取流讀取檔案
BufferedReader bufr=new BufferedReader(new FileReader(file));
String line=null;
//擷取bufr中的文本資訊
while((line=bufr.readLine())!=null)
{
//將文本資訊添加到文本區中。
textarea.append(line+"\r\n");
}
//關閉讀取流。
bufr.close();
}
catch(IOException e1)
{
throw new RuntimeException("讀取失敗");
}
}
});
//為功能表項目closeItem添加一個活動監聽
close_Item.addActionListener(new ActionListener(){
@Override
//複寫抽象方法actionPerformed,添加處理動作。
public void actionPerformed(ActionEvent e) {
// TODO 自動產生的方法存根
System.exit(0);
}
});
//表單調用addWindowListener方法,傳遞一個介面類(監聽適配器)WindowAdapter。
f.addWindowListener(new WindowAdapter(){
//複寫windowClosing方法。
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String[] args) {
new MenuLianXi();
}
}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
java GUI(執行個體項目--記事本)