java gui 案例_java GUI(实例项目--记事本)

这篇博客介绍了一个使用Java GUI实现的记事本程序。通过定义窗体、菜单栏、文本区、菜单和菜单项,实现了文件的打开、保存和退出功能。程序包含了事件监听器以响应用户操作,并通过FileDialog进行文件选择。
摘要由CSDN通过智能技术生成

//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);

//初始化对话框

penDia=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);

//避免发生空指针异常

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+ );

}

//关闭读取流。

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();

}

}

免责申明:本栏目所发资料信息部分来自网络,仅供大家学习、交流。我们尊重原创作者和单位,支持正版。若本文侵犯了您的权益,请直接点击提交联系我们,立刻删除!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值