相关文章
更多最近更新
更多java编的记事本的一个问题
2019-03-25 13:36|来源: 网路
package com.gui; import java.awt.CheckboxMenuItem; import java.awt.FileDialog; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; public class SampleMenu implements ActionListener, ItemListener { private Frame f; private String r,stitle; private MenuBar mb; private TextArea TA; FileDialog FD,FS; int newflag = 1; private Menu m1; private Menu m2; private Menu m3; private Menu m4; private Menu m5; private MenuItem mi1; private MenuItem mi2; private MenuItem mi3; private MenuItem mi4; private MenuItem mi5; private MenuItem mi6; private MenuItem mi7; private CheckboxMenuItem mi8; public void go() { f = new Frame("记事本"); mb = new MenuBar(); m1 = new Menu("文件(F)"); m2 = new Menu("编辑(E)"); m3 = new Menu("格式(O)"); m4 = new Menu("查看(V)"); m5 = new Menu("帮助(H)"); mb.add(m1); mb.add(m2); mb.add(m3); mb.add(m4); mb.setHelpMenu(m5); f.setMenuBar(mb); mi1 = new MenuItem("新建(N) CTRL+N"); mi2 = new MenuItem("打开(O) CTRL+O"); mi3 = new MenuItem("保存(S) CTRL+S"); mi4 = new MenuItem("另存为(A).."); mi5 = new MenuItem("页面设置(U).. "); mi6 = new MenuItem("打印(P) CTRL+P"); mi7 = new MenuItem("退出(X)"); mi1.addActionListener(this); mi2.addActionListener(this); mi3.addActionListener(this); mi4.addActionListener(this); mi5.addActionListener(this); mi6.addActionListener(this); mi7.addActionListener(this); m1.add(mi1); m1.add(mi2); m1.add(mi3); m1.add(mi4); m1.addSeparator(); m1.add(mi5); m1.add(mi6); m1.addSeparator(); m1.add(mi7); mi8 = new CheckboxMenuItem("Persistent"); mi8.addItemListener(this); m1.add(mi8); TA = new TextArea(); f.add(TA); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); f.setSize(500, 500); f.setVisible(true); } public void actionPerformed(ActionEvent ae) { if(ae.getSource()==mi1) { newflag=1; TA.setText(" "); } if(ae.getSource()==mi3) { if(newflag==1){ FS=new FileDialog(f,"保存文件",FileDialog.SAVE); FS.setDirectory("c:\\"); FS.setFile("*.txt"); FS.setVisible(true); stitle=FS.getDirectory()+FS.getFile(); newflag=0; } try{ File myfile=new File(stitle); BufferedWriter out=new BufferedWriter(new FileWriter(myfile)); out.write(TA.getText()); out.close(); }catch(IOException ioe){ System.out.println(ioe.toString()); } } /*if(ae.getSource()==mi2); { FD=new FileDialog(f,"打开文件",FileDialog.LOAD); FD.setDirectory("c:\\"); FD.setVisible(true); try { TA.setText(" "); File mf=new File(FD.getDirectory(),FD.getFile()); RandomAccessFile raf=new RandomAccessFile(mf,"rw"); //String s1=null; while((r=raf.readLine())!=null){ // s1 = new String(r.getBytes("GBK"),"ISO8895_1"); TA.append(r+"\n"); } }catch(IOException ioe) { System.err.println(ioe.toString()); } }*/ if (ae.getActionCommand().equals("退出(X)")) { System.exit(0); } } public void itemStateChanged(ItemEvent ie) { String state = "deselected"; if (ie.getStateChange() == ItemEvent.SELECTED) { state = "selected"; } System.out.println(ie.getItem() + " " + state); } public static void main(String args[]) { SampleMenu sampleMenu = new SampleMenu(); sampleMenu.go(); } }
暂时实现了文件功能的菜单,在子选项中实现了新建,打开,保存功能,但是为什么点击以后都是实现的打开功能,除非把打开那段的代码注释掉才行,大家指点下~谢谢
相关问答
更多-
java编写简单记事本[2022-10-31]
方法/步骤 下载JDK,并安装成功,CMD测试Java环境安装成功。出现如下提示则Java环境安装成功 打开mycelipse进入主界面,点击左上角file--new---java project,新建一个Java项目,项目名字任意取,这里我取名为note--然后点击完成,创建Java项目 然后右键项目下的src--new---package,新建一个包,包名我定为notetest,然后点击完成 然后右键我们建立好的包notetest--new--class,包名为Note,点击完成 首先我们想导入工程所需 ... -
怎么用记事本写java?[2022-05-31]
装完之后先设置环境变量,具体方法搜索一个就可以找到. 然后在控制台javac编译,java 命令运行. 建议找个视频教程看看,随便一个都有演示. -
用JAVA写记事本程序~[2022-08-01]
java记事本源代码 import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; import java.util.*; //Date needed import java.io.PrintWriter; public class NotePad extends JFrame { JTextArea jta; class newl implements ActionListener ... -
java编程简单记事本程序[2022-08-02]
参照别人以前的做法, 那版本没有做撤销的方法,我添加了一个,只不过不能大段撤销,只能一个一个的撤销。 -
如何用记事本进行java编程[2021-05-26]
1.安装JDK 下载地址:http://cn.sun.com/ 2:配置环境变量 方法: 安装后需要设置环境变量,在我的电脑--》属性--->高级--->环境变量 加入:JAVA_HOME = C:\Program Files\Java\jdk1.5.0_06 然后把JAVA_HOME 加入path中就可以了 PATH=F:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin ... -
如何运行JAVA程序(用记事本编辑)[2023-05-07]
命令行操作 javac HelloWorld.java(要有jdk编译成类文件) java HelloWorld(JVM运行) 默认要在同一目录下,如:d:/menu/HelloWorld.java 你需要cd(命令行)到d:/menu,再分别输入那两个语句 问题是没那个类文件 你可以下载个IDE工具用用,要是初学者,那记事本也不是件坏事! -
用JAVA编写记事本[2022-05-26]
import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; impo ... -
怎么样用JAVA编写一个记事本的程序?[2022-06-24]
java带有那个sample的,与jdk一起下的里面有 我机器上的路径: Java\jdk1.5.0_15\demo\jfc\Notepad -
用JAVA编个简单的记事本程序[2022-05-31]
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; class Editer1 implements ActionListener { JFrame f; JTextArea input; JMenuItem menuItemopen,menuItemsave,menuItemquit; String filename=""; String directory="E:\\"; public E ... -
记事本能编那些程度?[2022-04-01]
可以编的,只要你有那个能力,在若干年前,程序员就是用的记事本一类的东西编写的程序,那个太麻烦了,但是我是不会的,不过像楼上兄弟说的编一些网页什么的还是可以的,因为这个相对更简单