展开全部

以前用JBuilder2006写的 记事本 应该可以帮636f70793231313335323631343130323136353331333231626361你 记的类名一样要和文件名一样

要给我加分哦

import java.io.*;

import java.util.Calendar;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener{

Container c = this.getContentPane();

JMenuBar jmb = new JMenuBar();

JColorChooser jcc = new JColorChooser();

JMenu jm1 = new JMenu("文件(F)");

JMenu jm2 = new JMenu("编辑(E)");

JMenu jm3 = new JMenu("格式(O)");

JMenu jm4 = new JMenu("查看(V)");

JMenu jm5 = new JMenu("帮助(H)");

JMenuItem jmi1 = new JMenuItem("新建(N)");

JMenuItem jmi2 = new JMenuItem("打开(O)");

JMenuItem jmi3 = new JMenuItem("保存(S)");

JMenuItem jmi4 = new JMenuItem("退出(X)");

JMenuItem jmi5 = new JMenuItem("撤消(U)");

JMenuItem jmi6 = new JMenuItem("复制(C)");

JMenuItem jmi7 = new JMenuItem("粘贴(P)");

JMenuItem jmi8 = new JMenuItem("剪切(T)");

JMenuItem jmi12 = new JMenuItem("日期和时间");

JMenuItem jmi9 = new JMenuItem("字体(E)");

JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem("自动换行(W)");

JMenuItem jmi10 = new JMenuItem("删除(S)");

JMenuItem jmi11 = new JMenuItem("背景颜色(H)");

JTextArea jta = new JTextArea(15,15);

JScrollPane jsp = new JScrollPane(jta);

//PupolMenu pm = new Pupolmenu();

NoteBook(){

this.addWindowListener(this);

c.setLayout(new BorderLayout());

c.add(jmb,BorderLayout.NORTH);

this.setTitle("新建 文本文档");

jmb.add(jm1);

jm1.setMnemonic('f');

jm1.addActionListener(this);

jmb.add(jm2);

jm2.setMnemonic('e');

jmb.add(jm3);

jm3.setMnemonic('o');

jmb.add(jm4);

jm4.setMnemonic('v');

jmb.add(jm5);

jm5.setMnemonic('h');

jm1.add(jmi1);

jmi1.addActionListener(this);

jmi1.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK,false));

jm1.addSeparator();

jm1.add(jmi2);

jmi2.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK,false));

jmi2.addActionListener(this);

jm1.addSeparator();

jm1.add(jmi3);

jmi3.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK,false));

jmi3.addActionListener(this);

jm1.addSeparator();

jm1.add(jmi4);

jmi1.setMnemonic('n');

jmi2.setMnemonic('o');

jmi3.setMnemonic('s');

jmi4.setMnemonic('x');

jmi4.addActionListener(this);

jm2.add(jmi5);

jm2.addSeparator();

jm2.add(jmi6);

jm2.addSeparator();

jm2.add(jmi7);

jm2.addSeparator();

jm2.add(jmi8);

jm2.add(jmi12);

jmi12.addActionListener(this);

jm3.add(jcbmi);

jcbmi.addItemListener(this);

jm3.addSeparator();

jm3.add(jmi9);

jm4.add(jmi10);

jmi10.addActionListener(this);

jm5.add(jmi11);

jmi11.addActionListener(this);

c.add(jsp);

this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

this.setSize(500,500);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e){

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

jta.setText("");

this.setTitle("无标题 - 记事本");

}

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

File f1;

JFileChooser jfc1 = new JFileChooser();

int num1 = jfc1.showOpenDialog(this);

if(num1==JFileChooser.APPROVE_OPTION){

try{

f1 = jfc1.getSelectedFile();

this.setTitle(f1.getName());

FileReader fr = new FileReader(f1);

BufferedReader br = new BufferedReader(fr);

String str;

while((str = br.readLine())!=null){

jta.setText(str);

}

fr.close();

br.close();

}catch(FileNotFoundException e1){

e1.printStackTrace();

}catch(IOException e2){

e2.printStackTrace();

}

}

}

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

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2.showSaveDialog(this);

if(num2==JFileChooser.APPROVE_OPTION){

f2=jfc2.getSelectedFile();

this.setTitle(f2.getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bw.write(jta.getText());

bw.close();

fw.close();

}catch(IOException e2){

e2.printStackTrace();

}

}

}

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

int a = JOptionPane.showConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION);

if(a==1){

this.dispose();

}else if(a==0){

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2.showSaveDialog(this);

if(num2==JFileChooser.APPROVE_OPTION){

f2=jfc2.getSelectedFile();

this.setTitle(f2.getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bw.write(jta.getText());

bw.close();

fw.close();

}catch(IOException e2){

e2.printStackTrace();

}

this.dispose();

}

}

}

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

Calendar c1 =Calendar.getInstance();

int y = c1.get(Calendar.YEAR);

int m = c1.get(Calendar.MONTH);

int d = c1.get(Calendar.DATE);

int h = c1.get(Calendar.HOUR);

int m1 = c1.get(Calendar.MINUTE);

int m2 = m+1;

jta.setText(y+"年"+m2+"月"+d+"日"+h+":"+m1);

}

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

Color ccc = JColorChooser.showDialog(this,"color",Color.BLACK);

jta.setSelectedTextColor(ccc);

jta.setBackground(ccc);

}

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

jta.replaceRange("",jta.getSelectionStart(),jta.getSelectionEnd());

}

}

public void itemStateChanged(ItemEvent e2){

if(e2.getItemSelectable()==jcbmi){

jta.setLineWrap(true);

}else

jta.setLineWrap(false);

}

public static void main(String[] args){

new NoteBook();

}

public void windowOpened(WindowEvent arg0) {

}

public void windowClosing(WindowEvent arg0) {

int a = JOptionPane.showConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION);

if(a==1){

this.dispose();

}else if(a==0){

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2.showSaveDialog(this);

if(num2==JFileChooser.APPROVE_OPTION){

f2=jfc2.getSelectedFile();

this.setTitle(f2.getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bw.write(jta.getText());

bw.close();

fw.close();

}catch(IOException e2){

e2.printStackTrace();

}

}

if(a==2){

????/????????????????????????????????????????????????????????????????//

}

}

}

public void windowClosed(WindowEvent arg0) {

}

public void windowIconified(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowDeiconified(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowActivated(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowDeactivated(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void mouseClicked(MouseEvent arg0) {

// TODO Auto-generated method stub

}

public void mousePressed(MouseEvent arg0) {

// TODO Auto-generated method stub

}

public void mouseReleased(MouseEvent arg0) {

// TODO Auto-generated method stub

}

public void mouseEntered(MouseEvent arg0) {

// TODO Auto-generated method stub

}

public void mouseExited(MouseEvent arg0) {

// TODO Auto-generated method stub

}

}

本回答由提问者推荐

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

java 计算器 小程序_java应用小程序计算器相关推荐

  1. java画图板代码_java学习小总结——画图板制做(附代码)

    学习java这门编程语言也有一个多月了.~若是能用本身学的编程语言去开发一些小程序软件能够说是本身一直求之不得吧!.模仿XP的画图板的开发则是学java来最先作的一个小软件.也是把以前学到的不少知识得 ...

  2. java ee的小程序_Java EE应用程序的单片到微服务重构

    java ee的小程序 您是否曾经想过将现有的Java EE单体应用程序重构为基于微服务的应用程序需要做什么? 该博客说明了一个简单的购物车示例如何转换为基于微服务的应用程序,以及围绕它的一些担忧. ...

  3. java mysql查询界面_Java GUI小程序 实现数据库查询界面-Go语言中文社区

    源代码如下:package 数据库图形化界面3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public cl ...

  4. java 新手小程序_JAVA新手小程序之一

    import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.pr ...

  5. java雪人程序_JAVA雪人小程序

    刚学JAVA,有问题还请高人指教! /** * @ Snowman.java * @author * @c2009/8/21 */ import java.awt.*; import javax.sw ...

  6. java验证码源码_Java通用验证码程序及应用示例(提供源码下载)

    评论 # re: Java通用验证码程序及应用示例(提供源码下载) 2009-11-27 17:09 零全零美 多谢博主写出这么好的总结,如果能加上汉字验证码,会更完美!  回复  更多评论 # re ...

  7. java飞机游戏开发_java飞机小游戏制作

    学习了Java的基础的知识后,我们可以做一个小的飞机游戏来锻炼一下自己的编程,并且,通过这个小游戏可以让我们更好的理解我们之前所学过的对象,类,封装,多态,和继承等的实际含义,当然,一个程序并不能让我 ...

  8. java 多线程 变慢_java多线程并发程序执行慢有什么原因?该怎么解决?

    我们在执行java多线程并发程序时有时候会碰到执行特别慢的场景,小伙伴们知道是什么原因导致的吗?它要怎么解决呢?下面小编就为你讲讲. 前提:在某地需要开发一个应用系统,此系统主要功能是能够让一些中小型 ...

  9. java 按钮添加音乐_Java运行窗体/程序添加自定义背景音乐

    本帖最后由 Jesp 于 2020-7-5 00:50 编辑 前言: 最近实训结束,虽然我的坦克大战项目没有做完美,但是我对付出多少回报多少,这一点上我还是比较满意的,因为很多时间有在玩电脑游戏,只有 ...

最新文章

  1. NAnt学习笔记(2) -- 节点的含义解释
  2. error 图片,加载错误-》实用笔记
  3. tcp传输中的序列号
  4. Websocket总结
  5. 计划策略的配置参数(1)
  6. C语言编写Scheme解释器,C语言编写logo语言解释器 ,求高手指导
  7. C指针原理(1)-ATT汇编
  8. c# 找出目录下的所有子目录_C# 基础知识系列- 14 IO篇 文件的操作(2)
  9. Windows服务编写
  10. python实验二报告_20172304 2019-2020-2 《Python程序设计》实验二报告
  11. ubuntu 16.04安装mysql_Ubuntu 16.04 安装mysql 5.7.16
  12. 留学计算机美国硕士,美国硕士留学计算机专业申请详细分析
  13. Blender场景建模练习:破旧的公寓楼
  14. 高德地图API-获取位置信息的经纬度
  15. 86版五笔字根表(JPG版)
  16. dw怎么把dwt文件转成html文件,在Dreamweaver中如何使用模板?
  17. 商标注册服务的详细讲解
  18. 「Mpvue」记录我遇到的天坑
  19. SQL Server 下载和安装详细教程(点赞收藏)
  20. 主板声卡坏了会不会有电流声_2020年|短视频直播间设备(手机,直播声卡,麦克风,监听耳机,摄影补光灯)选购推荐指南...

热门文章

  1. 每日一皮:从头发数量看一个编程语言的行业地位...
  2. JDK13 GA发布:5大特性解读
  3. 死磕Java并发:深入分析volatile的实现原理
  4. 分数等级_志愿填报丨填报公办普通高中志愿,分数成绩和等级成绩均需关注
  5. crm系统是什么很棒ec实力_CRM系统都有哪些功能?CRM管理系统的主要用途又是什么?...
  6. 使用uniapp开发婚庆应用的时候开发公共组件请求网络数据的方式
  7. pytorch kl散度学习笔记
  8. C# WebRequest 基础连接已关闭 连接意外关闭
  9. python 压缩图片
  10. 矩形内接任意多边形抠图(可以羽化边缘)