GUI练习:记事本小程序(打开文件+保存文件)
程序员文章站
2022-05-28 11:36:37
...
【一】需求
GUI练习:打开文件+保存文件
【二】代码
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class MenuDemo2
{
private Frame f;
private MenuBar bar;
private Menu fileMenu;
private MenuItem openItem,saveItem,closeItem;
private FileDialog openDia,saveDia;
private TextArea ta;
private File file;
MenuDemo2(){
init();
}
public void init(){
f=new Frame("练习");
f.setBounds(200,250,500,400);
bar=new MenuBar();
f.setMenuBar(bar);
ta=new TextArea();
f.add(ta);
fileMenu=new Menu("文件");
bar.add(fileMenu);
openItem=new MenuItem("打开");
fileMenu.add(openItem);
saveItem=new MenuItem("保存");
fileMenu.add(saveItem);
closeItem=new MenuItem("关闭");
fileMenu.add(closeItem);
openDia=new FileDialog(f,"我要打开",FileDialog.LOAD);
saveDia=new FileDialog(f,"我要保存",FileDialog.SAVE);
f.setVisible(true);
myEvent();
}
private void myEvent(){
closeItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
saveItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(file==null){
saveDia.setVisible(true);
String dirPath=saveDia.getDirectory();
String fileName=saveDia.getFile();
//System.out.println(dirPath+"......"+fileName);
if(dirPath==null||fileName==null)
return ;
file=new File(dirPath,fileName);
}
try
{
BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
String text=ta.getText();
bufw.write(text);
bufw.close();
}
catch (IOException io)
{
throw new RuntimeException("异常");
}
}
});
openItem.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 ;
ta.setText("");
File file=new File(dirPath,fileName);
try
{
BufferedReader bufr=new BufferedReader(new FileReader(file));
String line=null;
while((line=bufr.readLine())!=null){
ta.append(line+"\r\n");
}
}
catch (IOException io)
{
throw new RuntimeException("异常");
}
}
});
//窗口点击X,退出
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String[] args)
{
new MenuDemo2();
}
}
【三】截图
保存文件:
打开文件:
上一篇: QT5每日一学(二)编写QT多窗口程序
下一篇: GUI(图形界面编程)
推荐阅读
-
高分 怎么设置xampp ,现在打开网页时,总是提示文件下载,是要保存此文件,还是要联机查找程序来打开此文件
-
使用记事本打开Hosts文件修改后无法保存的解决方法
-
亲测可用!微信小程序实现下载预览文件,导出及保存文件及excel
-
亲测可用!微信小程序实现下载预览文件,导出及保存文件及excel(2)
-
高分 怎么设置xampp ,现在打开网页时,总是提示文件下载,是要保存此文件,还是要联机查找程序来打开此文件
-
高分 怎么设置xampp ,现在打开网页时,总是提示文件下载,是要保存此文件,还是要联机查找程序来打开此文件
-
使用记事本打开Hosts文件修改后无法保存的解决方法
-
在调试一个上传文件并保存在数据库里的小程序,始终出现有关问题,向这里的大神请问
-
GUI练习:记事本小程序(打开文件+保存文件)
-
在调试一个上传文件并保存在数据库里的小程序,始终出现有关问题,向这里的大神请问