javagui文件另存为

java编写的记事本的保存和另存为功能

你要的关键程序代码:。(源文件超过10000字,无法粘全在这,要的话,加我)if(e.getActionCommand()==”保存”||e.getActionCommand()==”保存为”)

{

JFileChooser chooser=new JFileChooser(); //创建文件选择对话框

int result=chooser.showSaveDialog(frame);

if(result==JFileChooser.APPROVE_OPTION)

{

try

{

FileWriter fout = new FileWriter(chooser.getSelectedFile()); //向磁盘中写文件

fout.write(jtextpane.getText()+”\r\n”);

fout.close();

}

catch (IOException ioex)

{

}

}

}执行效果:

javagui文件另存为

创建gui,实现记事本【file】菜单下的【新建】、【打开】、【保存】、【另存为],退出等功能

新建打开等操作都可以用ofstream 类进行操作,但是有一点儿你要注意。每一个的程序的这些菜单的代码不是都一样的。只不过实现的方法大致相同,因为要看你新建文件的类型。如果只是文档的话随便百度都有。 ofstream file; file.open(“data.txt”,ios::app); file.close(); 这是打开文件的操作的类。

用JAVA编写一个GUI记事本程序,实现文本的输入,保存,修改,打开操作

代码如下:

import java.io.*;

import java.awt.*;

import java.awt.event.*;

public class jtxtfm{

public static void main(String args[]){

jtxtfrm fm=new jtxtfrm();

}

}

class jtxtfrm extends Frame implements ActionListener{

FileDialog op,sv;

Button btn1,btn2,btn3;

TextArea tarea;

jtxtfrm(){

super(“读写文件”);

setLayout(null);

setBackground(Color.cyan);

setSize(600,300);

setVisible(true);

btn1=new Button(“打开”);

btn2=new Button(“保存”);

btn3=new Button(“关闭”);

tarea=new TextArea(“”);

add(btn1);add(btn2);add(btn3);add(tarea);

tarea.setBounds(30,50,460,220);

btn1.setBounds(520,60,50,30);

btn2.setBounds(520,120,50,30);

btn3.setBounds(520,180,50,30);

op=new FileDialog(this,”打开”,FileDialog.LOAD);

sv=new FileDialog(this,”保存”,FileDialog.SAVE);

btn1.addActionListener(this);

btn2.addActionListener(this);

btn3.addActionListener(this);

    addWindowListener(

     new WindowAdapter(){

      public void windowClosing(WindowEvent e){

       setVisible(false);

       System.exit(0);

      }

     }    

    );

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==btn1){

String str;

op.setVisible(true);

try{

File f1=new File(op.getDirectory(),op.getFile());

FileReader fr=new FileReader(f1);

BufferedReader br=new BufferedReader(fr);

tarea.setText(“”);

while((str=br.readLine())!=null)tarea.append(str+’\n’);

fr.close();

}

catch(Exception e1)

{}

}

if(e.getSource()==btn2){

sv.setVisible(true);

try{

File f1=new File(sv.getDirectory(),sv.getFile());

FileWriter fw=new FileWriter(f1);

BufferedWriter bw=new BufferedWriter(fw);

String gt=tarea.getText();

bw.write(gt,0,gt.length());

bw.flush();

fw.close();

}

catch ( Exception e2)

{}

}

if(e.getSource()==btn3){

System.exit(0);

}

}

}

效果图:

java&GUI&文件保存

用ide软件编程比较快,比较容易用的有netbeans

,直接可以选择gui的工具就可以完成界面了。。。

然后在按键上加入监听就完成了。。。

如何用Java实现另存为

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.util.Calendar;

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class BakTo extends JFrame implements ActionListener {

JLabel l1 = new JLabel(“原始文件”);

JTextField t1 = new JTextField(40);

JButton b1 = new JButton(“选择”);

JLabel l2 = new JLabel(“保存目录”);

JTextField t2 = new JTextField(40);

JButton b2 = new JButton(“保存”);

JFileChooser j1 = new JFileChooser();

JFileChooser j2 = new JFileChooser();

static File fileFlag = new File(“”);

public BakTo() {

setBounds(200, 200, 600, 140);

setLayout(new FlowLayout());

add(l1);

add(t1);

add(b1);

add(l2);

add(t2);

add(b2);

b1.addActionListener(this);

b2.addActionListener(this);

setResizable(false);

setVisible(true);

validate();

}

public void actionPerformed(ActionEvent e) {

try {

if (e.getSource() == b1) {

int n = j1.showOpenDialog(null);

String filename = j1.getSelectedFile().toString();

if (n == JFileChooser.APPROVE_OPTION) {

t1.setText(filename);

fileFlag = new File(filename);

}

}

else if (e.getSource() == b2) {

j2.setCurrentDirectory(fileFlag);// 设置打开对话框的默认路径

j2.setSelectedFile(fileFlag);// 设置选中原来的文件

int n = j2.showSaveDialog(null);

String filename2 = j2.getSelectedFile().toString();

if(filename2.indexOf(“.”)!=-1){

filename2=filename2.substring(0,filename2.indexOf(“.”));

}

// 以下两句是获得原文件的扩展名

int flag = t1.getText().lastIndexOf(“.”);

String kuozhan = t1.getText().substring(flag);

String date = getDate();// 取得当前日期

if (n == JFileChooser.APPROVE_OPTION) {

t2.setText(filename2 +date+ kuozhan);// 把日期和扩展名添加到原来文件的后面

}

int b;

char[] t = new char[25];

// 这里我改用了文件流

FileInputStream input = new FileInputStream(t1.getText());

FileOutputStream output = new FileOutputStream(filename2+date

+ kuozhan);// 把扩展名添加到原来文件的后面

int in = input.read();

while (in != -1) {

output.write(in);

in = input.read();

}

input.close();

output.close();

}

} catch (Exception x) {

System.out.println(x);

}

}

public String getDate() {

Calendar rightNow = Calendar.getInstance();

System.out.println(rightNow.toString());

int year = rightNow.YEAR;

int date = rightNow.DATE;

int month = rightNow.MONTH + 1;

String d = year + “年” + month + “月” + date + “日”;

return d;

}

public static void main(String args[]) {

BakTo c1 = new BakTo();

}

}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月24日 11:50:22
下一篇 2024年3月24日 11:57:32

相关推荐

  • javascript打印文件,js打印页面

    js打印问题,急!!! window.print();仅此一行代码就可以连接打印页面,然后就可以直接打印,是不是非常简单,接下来我们就来看看将print方法用于按钮或链接来进行打印。打印按钮的设置方法要设置打印按钮,请在按钮的onclick事件中指定print方法。 JS实现打印的方式方式一:window.print()window.print();会弹出打…

    2024年5月19日
    4100
  • excel文件默认扩展名,excel文件的默认扩展名是

    excel后缀名有哪些 Excel表格文件生成的文件扩展名是:“.xls”或者“.xlsx”。查看电脑中的excel文件扩展名的方法:找到需要查看文件扩展名的excel文件。选中该excel表格,鼠标点击右键,在弹出的菜单栏中选择“属性”。 excel文件扩展名是xls或者xlsx。MicrosoftExcel是Microsoft为使用Windows和App…

    2024年5月19日
    4800
  • 查询linux的字符集,linux查询字符串在哪个文件

    Linux里面字符是不是utf-8? 在Vim中可以直接查看文件编码:setfileencoding即可显示文件编码格式。 举个例子,当你在Windows下通过telnet登录Linux工作站时,由于Windows的telnet是GBK编码的,而Linux下使用UTF-8编码,你在telnet下的Vim中就会乱码。 Linux文件名、文件内容乱码,主要原因是…

    2024年5月19日
    5900
  • java实现虚拟文件,java虚拟机规范官方文档

    20条必背java知识点学生考专必备 1、,JDK、JRE和JVM之间的关系 JDK(Java Development Kit):Java开发工具包,jdk是整个Java开发的核心,它集成了jre和一些好用的小工具(javac.exe,java.exe,jar.exe等)。 2、必备的Java的基础知识字节基类型 当我们讨论二进制时,我们实际上是在讨论比特的…

    2024年5月19日
    3500
  • java打开exe文件,java生成的exe文件点击无反应

    Java做好的程序如何生成exe 从获得一个TowerJ编译器,该编译器可以将你的CLASS文件 编译成EXE文件。 安装JDK,可以使用绿色版免安装的 配置JDK的环境变量,该步骤是为了是dos能够利用JDK的能力。 是要将做好的Java应用程序移植到Windows上吗?用exe4j或者jar2exe软件可以把可运行的jar文件转成exe。此时可以双击ex…

    2024年5月19日
    3600
  • linux如何进入文件目录,linux进入文件夹的命令

    linux进入下一级目录的命令 linux怎么进入目录呢,下面就让我们来看看吧。打开linux系统,在linux的桌面的空白处右击。在弹出的下拉选项里,点击打开终端即可进入命令行。在终端窗口中输入cd+目录名,回车后即可进入。 首先仅仅从目录切换来看,linux和windows是一致的,都是使用cd命令,例如“cd ..”来切换到上级目录。 cd 0就可以了…

    2024年5月19日
    4300
  • linuxtmp文件的简单介绍

    *.tmp这是什么文件啊 1、TMP件是各种软件或系统产生的临时文件,也就是常说的垃圾文件。在Unix中,/ tmp目录通常是一个单独的磁盘分区。 2、.tmp文件是系统产生的临时文件。.tmp也就是常说的垃圾文件。Windows产生的临时文件,本质上和虚拟内存没什么两样,只不过临时文件比虚拟内存更具有针对性,单独为某个程序服务而已。 3、tmp是临时文件。…

    2024年5月19日
    3600
  • word中嵌入excel文件,word如何嵌入excel文件

    excel表怎么放入word文档里 1、打开word文档,右键粘贴,excel表格即可导入word文档。 2、将需要导入的单元格选中复制、打开WORD选择”选择性粘贴“选择选择”Microsoft Excel工作表 对象”即可。具体操作如下:打开需要操作的EXCEL工作表,将需要转化的单元格选中,鼠标右击“复制”。如图所示。 3、先打开excel表格,复制一…

    2024年5月19日
    4000
  • 在linux中怎么删除文件夹,linux怎么删除文件夹里的文件

    linux删除文件夹命令 linux删除命令rm-rf命令。具体详情:rm命令在Linux下通常用来删除文件。rm-r命令递归的删除文件夹,甚至是空的文件夹。rm-f命令能不经过询问直接删除‘只读文件’。 使用“rm-rtest”命令删除test文件夹,该命令即为linux系统的删除文件夹命令,通用格式为“rm-r文件夹名”;删除后重新使用ls命令查看当前目…

    2024年5月19日
    4300
  • java读写文件框架,java中读文件

    java的框架有哪些? java框架有SpringMVC、Mybatis、Dubbo、RabbitMQ等。 Java的框架有SpringMVC、Spring、Mybatis、Dubbo、Maven、RabbitMQ、Log4j、Ehcache、Redis、Shiro。这些框架不需要全部学会,只需要掌握其中几个比较常用的就足够了。 Struts是一个基于Sun…

    2024年5月18日
    3500

发表回复

登录后才能评论



关注微信