java记事本课程设计(Java课程设计的目录)

:暂无数据 2026-03-05 07:30:01 5
各位老铁们,大家好,今天由我来为大家分享java记事本课程设计,以及Java课程设计的目录的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

Java课程设计的目录

第1章 记忆测试系统
1.1 设计内容
1.2 设计要求
1.3 总体设计
1.4 具体设计
1.4.1运行效果与程序发布
1.4.2 主类Memory
1.4.3 方块Block
1.4.4 记忆测试板MemoryTestPane
1.4.5 显示成绩Showrecord
1.4.6 记录成绩Record
1.4.7 随机排列图标RandomSetIcon
1.4.8 测试者PeoPle
1.5 课程设计作业
第2章 计算器
2.1 设计内容
2.2 设计要求
2.3 总体设计
2.4 具体设计
2.4.1 运行效果与程序发布
2.4.2 主类ComputerPad
2.4.3 数字按钮NumberBrtton
2.4.4 运算符号按钮perationButton
2.5 课程设计作业
第3章 Hannoi塔
3.1 设计内容
3.2 设计要求
3.3 总体设计
3.4 具体设计
3.4.1 运行效果与程序发布
3.4.2 主类Tower
3.4.3 Hannoi塔HannoiTower
3.4.4 塔点TowerPoint
3.4.5 盘子Disk
3.5 课程设计作业
第4章 JPEG图像生成器
4.1 设计内容
4.2 设计要求
4.3 总体设计
4.4 具体设计
4.4.1 运行效果与程序发布
4.4.2 主类MakeJPEG
4.5 课程设计作业
第5章 标准化考试系统(单机版)
5.1 设计内容
5.2 设计要求
5.3 总体设计
5.4 具体设计
5.4.1 运行效果与程序发布
5.4.2 主类EnglishTest
5.4.3 考试区域TestArea
5.4.4 读取ReadTestquestion
5.5 课程设计作业
第6章 标准化考试系统(C/S网络版)
6.1 设计内容
6.2 设计要求
6.3 总体设计
6.4 具休设计
6.4.1 运行效果与程序发布
6.4.2 客户端主类Client
6.4.3 客户羰选择试题界面ChoiceFile
6.4.4 客户端考试界面ClientTestArea
6.4.5 服务器端主类Server
6.4.6 服务器端读取试题ReadTestquestion
6.5 课程设计作业
第7章 标准化考试系统(B/S网络版)
第8章 日历记事本
第9章 学籍管理系统
第10章 图书查询系统(B/S网络版)
第11章 中国象棋打谱系统
第12章 魔板游戏
第13章 挖雷游戏
第14章 网络聊天室(B/S模式)
第15章 局域网广播系统

java的一个简单记事本程序设计

是记事本的样式吗?就要这些要求吗?
下面这些代码的功能挺全的,可以参考一下,不用的可以删掉。
import java.io.*;
import java.util.Calendar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener
{ Container c = this.getContentPane();
JMenuBar jmb = new JMenuBar();
JColorChooser jcl = new JColorChooser();
JToolBar jToolBar = new JToolBar();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JMenu jm1 = new JMenu("文件(F)");
JMenu jm2 = new JMenu("(E)");
JMenu jm4 = new JMenu("格式(O)");
JMenu jm5 = new JMenu("查看(V)");
JMenu jm3 = new JMenu("帮助(H)");
JMenuItem jmi1 = new JMenuItem("新建(N)");
JMenuItem jmi2 = new JMenuItem("打开(O)");
JMenuItem jmi3 = new JMenuItem("保存(S)");
JMenuItem jmi4 = new JMenuItem("退出(X)");
JMenu jmd4=new JMenu("颜色");
JMenu jmd0=new JMenu("字体");
JMenuItem aa=new JMenuItem("复制(C)");
JMenuItem bb=new JMenuItem("剪切(X)");
JMenuItem cc=new JMenuItem("粘贴(V)");
JCheckBoxMenuItem jcuti1 = new JCheckBoxMenuItem("粗体");
JCheckBoxMenuItem jxieti1 = new JCheckBoxMenuItem("斜体");
JMenuItem jmp1 = new JMenuItem("日期和时间");
JMenuItem jmp2 = new JMenuItem("背景颜色(H)");
JMenuItem jmi5 = new JMenuItem("删除内容(S)");
JMenuItem jmi7=new JMenuItem("关于自己");
JTextArea jta = new JTextArea(23,15);
JScrollPane jsp = new JScrollPane(jta);
JMenuItem jmdb1=new JMenuItem("黄色");//定义各种颜色
JMenuItem jmdb2=new JMenuItem("红色");
JMenuItem jmdb3=new JMenuItem("绿色");
JMenuItem jmdb4=new JMenuItem("蓝色");
JMenuItem jmdb5=new JMenuItem("黑色");
NoteBook()
{ this.addWindowListener(this);
setBounds(200,200,200,200);
c.add(jmb,BorderLayout.NORTH);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setTitle("记事本");
jmb.add(jm1);//文件
jm1.setMnemonic(’f’);
jm1.addActionListener(this);
jmb.add(jm2);//
jm2.setMnemonic(’e’);
jmb.add(jm4);//格式
jm4.setMnemonic(’o’);
jm4.addActionListener(this);
jmb.add(jm5);
jm5.setMnemonic(’v’); //查看
jmb.add(jm3);//帮助
jm3.setMnemonic(’h’);
jmb.setLocation(0,0);
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);//退出
jm5.add(jmi5); //删除
jm5.addSeparator();
jmi5.addActionListener(this);
jm4.addSeparator();
jm4.add(jmd4);
jm4.add(jmd0);
jmd4.add(jmdb1);
jmd4.add(jmdb2);
jmd4.add(jmdb3);
jmd4.add(jmdb4);
jmd4.add(jmdb5);
jmd4.addActionListener(this); //添加监视器
jmdb1.addActionListener(this);
jmdb2.addActionListener(this);
jmdb3.addActionListener(this);
jmdb4.addActionListener(this);
jmdb5.addActionListener(this);
jm5.add(jmp1);
jm5.addSeparator();
jm5.add(jmp2);
jmp1.addActionListener(this);//日期时间
jmp2.addActionListener(this);//背景颜色
jm2.add(aa);
jm2.addSeparator();
jm2.add(bb);
jm2.addSeparator();
jm2.add(cc);
jm2.addSeparator();
jmd0.add(jcuti1);
jmd0.addSeparator();
jmd0.add(jxieti1);
aa.setMnemonic(’C’);
aa.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
bb.setMnemonic(’x’);
bb.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
cc.setMnemonic(’V’);
cc.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
aa.addActionListener(this);//复制
bb.addActionListener(this);//剪切
cc.addActionListener(this);//粘贴
jmd4.addActionListener(this);
jcuti1.addItemListener(this);//粗体
jxieti1.addItemListener(this);//斜体
jm3.add(jmi7);
jmi7.addActionListener(this);//关于自己
c.add(jToolBar,BorderLayout.CENTER); //工具条
jButton2.setIcon(new ImageIcon("image\\new.JPG"));//新建
jToolBar.add(jButton2);
jButton2.setToolTipText("新建");
jButton2.addActionListener(this);
jButton1.setIcon(new ImageIcon("image\\open.JPG"));//打开
jButton1.setToolTipText("打开");
jToolBar.add(jButton1);
jButton1.addActionListener(this);
jButton3.setIcon(new ImageIcon("image\\save.JPG"));//保存
jToolBar.add(jButton3);
jButton3.setToolTipText("保存");
jButton3.addActionListener(this);
jButton4.setIcon(new ImageIcon("image\\qq.JPG"));
jButton4.addActionListener(this); //退出
jToolBar.add(jButton4);
jButton4.setToolTipText("退出");
c.add(jsp,BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(500,500);
this.setVisible(true);
jmdb1.addActionListener(new ActionListener() //黄色
{ public void actionPerformed(ActionEvent e)
{ jta.setForeground(Color.yellow);
} } );
jmdb2.addActionListener(new ActionListener() //红色
{ public void actionPerformed(ActionEvent e)
{ jta.setForeground(Color.red);
} } );
jmdb3.addActionListener(new ActionListener() //绿色
{ public void actionPerformed(ActionEvent e)
{ jta.setForeground(Color.green);
} } );
jmdb4.addActionListener(new ActionListener() //蓝色
{
public void actionPerformed(ActionEvent e)
{
jta.setForeground(Color.blue);
} } );
jmdb5.addActionListener(new ActionListener() //黑色
{
public void actionPerformed(ActionEvent e)
{
jta.setForeground(Color.black);
} } );
}
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()==jmp1)//日期时间
{
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()==jmp2)//背景色
{ Color ccc = JColorChooser.showDialog(this,"color",Color.BLACK);
jta.setSelectedTextColor(ccc);
jta.setBackground(ccc);
}
if(e.getSource()==jButton1)//打开
{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()==jButton2)
{jta.setText("");
this.setTitle("文本器");
}
if(e.getSource()==jmi5){
jta.replaceRange("",jta.getSelectionStart(),jta.getSelectionEnd()); //删除
}
if(e.getSource()==jButton3)
{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()==aa) //复制
{jta.copy();}
else if(e.getSource()==bb)//剪切
{ jta.cut(); }
else if(e.getSource()==cc)//粘贴
{jta.paste();}
if(e.getSource()==jButton4)
{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()==jmi7)//关于我
//{About1 a=new About1();//实现跳转
// a.setVisible(true);
//}
}
public void itemStateChanged(ItemEvent e) //字体
{Font c=new Font("Serif",Font.PLAIN,14);
if(e.getItemSelectable()==jcuti1)
{if(jcuti1.getState()==true)
{ Font f=new Font("Serif",Font.BOLD,20); //粗体
jta.setFont(f);}
else{jta.setFont(c);}
}
else if(e.getItemSelectable()==jxieti1)
{if(jxieti1.getState()==true)
{ Font b=new Font("Serif",Font.ITALIC,20);//斜体
jta.setFont(b);}
else{jta.setFont(c);
} } }
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) {}
public void windowDeiconified(WindowEvent arg0) {}
public void windowActivated(WindowEvent arg0) {}
public void windowDeactivated(WindowEvent arg0) {}
public void mouseClicked(MouseEvent arg0) {}
public void mousePressed(MouseEvent arg0) {}
public void mouseReleased(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
}

题目 编写一个记事本程序 编写一个Java语言记事本课程设计设计要求

import java.awt.*;
import java.awt.event.*;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.JFileChooser; import java.awt.*;
import java.awt.event.*;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.JFileChooser;
public class TextEditor extends Frame implements ActionListener{
MenuBar mainmenubar=new MenuBar();
Menu file;
MenuItem nw;
MenuItem op;
MenuItem cl;
MenuItem sf;
MenuItem ex;
TextArea tx;
public TextEditor(String title){
super(title);
CloseHandler handler= new CloseHandler();
this.addWindowListener(handler);
setSize(400,400);
setLocationRelativeTo(null);
menuinit();
tx=new TextArea();
this.add(tx);
setVisible(true);
}
void menuinit(){
mainmenubar =new MenuBar();
file=new Menu("File");
nw=new MenuItem("Great");
op=new MenuItem("Open");
cl=new MenuItem("Close");
sf=new MenuItem("save");
ex=new MenuItem("Exit");
file.add(nw);
file.add(op);
file.add(cl);
file.add(sf);
file.add(ex);
mainmenubar.add(file);
setMenuBar(mainmenubar);
nw.addActionListener(this);
op.addActionListener(this);
cl.addActionListener(this);
sf.addActionListener(this);
ex.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
Object ob=e.getSource();
JFileChooser f =new JFileChooser();
if((ob==nw)||(ob==ex)){
tx.setText("write word in here");
}else if(ob==op){
f.showOpenDialog(this);
try{
StringBuffer s=new StringBuffer();
FileReader in=new FileReader(f.getSelectedFile());
while(true){
int b=in.read();
if(b==-1)
break;
s.append((char)b);
}
String myString=s.toString();
char mychar=myString.toCharArray();
String unkeyFile =FileEncry(mychar);
tx.setText(unkeyFile.toString());
in.close();
}catch(Exception ee){
}
}else if(ob==sf){
f.showSaveDialog(this);
try{
FileWriter out =new FileWriter(f.getSelectedFile());
String mystr=tx.getText();
char strchar=mystr.toCharArray();
String keyFile =FileEncry(strchar);
out.write(keyFile);
out.close();
}catch (Exception ee){
}
}else if(ob==ex)
System.exit(0);
}
public static void main(String args){
new TextEditor("Simple TextEdit");
}
public String FileEncry(char encry){
StringBuffer str=new StringBuffer();
char;
for(int i=0; i《encry.length;i++){
encry1^’F’);
str.append(encry1);
}
return str.toString();
}
}
class CloseHandler extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}

java做日历记事本

3.2设计要求
(1)界面的左侧是日历。该日历可以按年前后翻动,当鼠标单击“上一年”按钮时,当前日历的年份将减一;当鼠标左键单击“下年”按钮,当前日历的年份将加一。
(2)也可以在某年内按月前后翻动。当鼠标左键单击“上月”按钮时,当前日历的月份将减一;当鼠标左键单击“下月” 当前日历表的月份将加一。
(3)使用鼠标左键在要选择的日期上单击,如有记事内容,程序将弹出对话框提示该日有记事内容,提示用户是否用记事本显示该内容。
(4)选择具体日期后,可以将记事本的内容保存起来,形成一个日志。

3.3系统的主要功能
(1)可以进行日期查询;
(2)可以方便地在任何日期记载有关内容以及查看某个日期记载的内容 。
这个怎么样,完整的课程设计,不过你给的分太少啦,想要的话加点分,把邮箱给我,分加上,我发给你

老师,你JAVA编程会不会的啊我想请教你怎么编写日历记事本,带有日程提醒功能的日历

日历记事本课程设计报告
java编写
/*
说明:主程序
*/
import java.util.Calendar;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Hashtable;
public class CalendarPad extends JFrame implements MouseListener
{
int year,month,day;
Hashtable hashtable;
File file;
JTextField showDay;
JLabel title;
Calendar 日历;
int 星期几;
NotePad notepad=null;
Month 负责改变月;
Year 负责改变年;
String 星期=;
JPanel leftPanel,rightPanel;
public CalendarPad(int year,int month,int day)
{
leftPanel=new JPanel(); //左边日历...........

JPanel leftCenter=new JPanel();
JPanel leftNorth=new JPanel();
leftCenter.setLayout(new GridLayout(7,7));

rightPanel=new JPanel();
this.year=year;
this.month=month;
this.day=day;
负责改变年=new Year(this);
负责改变年.setYear(year);
负责改变月=new Month(this);
负责改变月.setMonth(month);

title=new JLabel;
showDay=new JTextField;
for(int j=0;j《7;j++)
{
title=new JLabel();
title);
title.setBorder(BorderFactory.createRaisedBevelBorder());
leftCenter.add(title);
}
........
看下是不是收到了啊
额外人提问

怎么样用java编写记事本(只能用awt,不能有swing)

具体参考此文
***隐藏网址***
/*
* Created on 2005-3-22
*
* JAVA课程大作业1:编写一个记事本,可以实现记事本的简单功能.
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class MyActions {
static final long serialVersionUID = 3228193999994336070L;
// 打开文件
String fileOpen() {
// 设置普通参数
BufferedReader in = null; // 设置读缓冲
JFrame dialogFrame = new JFrame(); // 弹出窗口
String filePath; // 文件路径
StringBuffer sbTemp = new StringBuffer(""); // 文件缓冲
String sTemp = null; // 行缓冲
// 设置打开文件的扩展名 开始
JFileChooser c = new JFileChooser();
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("txt");
filter.setDescription("文本文件");
c.setFileFilter(filter);
// 设置打开文件的扩展名 结束
int rVal = c.showOpenDialog(dialogFrame);
if(rVal == JFileChooser.APPROVE_OPTION) {
filePath = c.getSelectedFile().getPath();
try{
in = new BufferedReader(new FileReader(filePath));
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
try {
while((sTemp = in.readLine()) != null ) {
sbTemp.append(sTemp + "\n");
}
} catch (IOException e2) {
e2.printStackTrace();
}
try {
in.close();
} catch (IOException e3) {
e3.printStackTrace();
}
}
return (sbTemp.toString());
}
// 保存文件
void fileSave() {
fileSaveAs();
}
String fileSaveAs() {
// 设置普通参数
JFrame dialogFrame = new JFrame(); // 弹出窗口
StringBuffer filePath = new StringBuffer(""); // 文件路径
// 设置保存文件的扩展名 开始
JFileChooser c = new JFileChooser();
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("txt");
filter.setDescription("文本文件");
c.setFileFilter(filter);
// 设置保存文件的扩展名 结束
int rVal = c.showSaveDialog(dialogFrame);
if(rVal == JFileChooser.APPROVE_OPTION) {
filePath.append(c.getSelectedFile().getPath());
}
/*
* 判断:
* 如果保存文件的时候没有指示文件扩展名,则自动指示为.txt。
* 如果保存文件的时候已经指示了文件扩展,则以指定方式保存。
*/
if ((filePath.lastIndexOf(".")) == -1) {
filePath.append(".txt");
return(filePath.toString());
}
else
return (filePath.toString());
}
int fileNotSaveMessage(){
int i;
i = JOptionPane.showConfirmDialog(null,
"文件已经更改,想保存文件吗?", "记事本", JOptionPane.YES_NO_OPTION);
return i;
}
}
/*
* Created on 2005-3-22
*
* JAVA课程大作业1:编写一个记事本,可以实现记事本的简单功能.
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
class UserInterface extends JFrame{
static final long serialVersionUID = -4974434346775996938L;
// 设置界面
JFrame frame = new JFrame("记事本");
// 设置菜单项目
JMenuItem
menuFileNew, menuFileOpen, menuFileSave, menuFileSaveAs,
menuFilePrint, menuFilePrintSetup, menuFileExit,
menuEditCut, menuEditCopy, menuEditPaste, menuSelectAll,
menuEditDeleteSelection, menuEditFind, menuEditReplace,
menuEditGoTo, menuHelpAbout;
//设置可选择菜单
JCheckBoxMenuItem menuViewWordWrap;
// 设置菜单分类
JMenu menuFile, menuEdit, menuView, menuHelp;
// 设置右键菜单项目
JMenuItem
RCMenuCut, RCMenuCopy, RCMenuPaste, RCMenuSelectAll;
// 设置菜单条
JMenuBar mb = new JMenuBar();
JPopupMenu popup = new JPopupMenu();
// 设置文本区
JScrollPane scrollPane;
JTextArea textArea;
// 设置监听器
MyListener ML = new MyListener();
PopupListener PL = new PopupListener();
// 设置其它系统参数
boolean isFileSave = false;
boolean isFileNew = true;
int receiveReturnPara;
private void setMenu() {
// ---------- 设置菜单分类 ----------
menuFile = new JMenu("文件(F) ", true);
menuFile.setMnemonic(KeyEvent.VK_F);
menuEdit = new JMenu("(E)", true);
menuEdit.setMnemonic(KeyEvent.VK_E);
menuView = new JMenu("察看(V)", true);
menuView.setMnemonic(KeyEvent.VK_V);
menuHelp = new JMenu("帮助(H)", true);
menuHelp.setMnemonic(KeyEvent.VK_H);
// ---------- 菜单分类结束 ----------
// 文件 新建菜单
menuFileNew = new JMenuItem("新建", ’N’);
menuFileNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
InputEvent.CTRL_MASK));
menuFileNew.addActionListener(ML);
// 文件 打开菜单
menuFileOpen = new JMenuItem("打开(O)", ’O’);
menuFileOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
InputEvent.CTRL_MASK));
menuFileOpen.addActionListener(ML);
// 文件 保存菜单
menuFileSave = new JMenuItem("保存(S)", ’S’);
menuFileSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
InputEvent.CTRL_MASK));
menuFileSave.addActionListener(ML);
// 文件 另存为菜单
menuFileSaveAs = new JMenuItem("另存为(A)... ", ’A’);
menuFileSaveAs.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F12, 0));
menuFileSaveAs.addActionListener(ML);
// 文件 关闭菜单
menuFileExit = new JMenuItem("关闭(X)", ’X’);
menuFileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4,
InputEvent.ALT_MASK));
menuFileExit.addActionListener(ML);
// 剪切菜单
menuEditCut = new JMenuItem("剪切(T) ", ’T’);
menuEditCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
InputEvent.CTRL_MASK));
menuEditCut.addActionListener(ML);
// 复制菜单
menuEditCopy = new JMenuItem("复制(C) ", ’C’);
menuEditCopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
InputEvent.CTRL_MASK));
menuEditCopy.addActionListener(ML);
// 粘贴菜单
menuEditPaste = new JMenuItem("粘贴(P) ", ’P’);
menuEditPaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
InputEvent.CTRL_MASK));
menuEditPaste.addActionListener(ML);
// 全选菜单
menuSelectAll = new JMenuItem("全选(A) ", ’A’);
menuSelectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
InputEvent.CTRL_MASK));
menuSelectAll.addActionListener(ML);
// 删除菜单
menuEditDeleteSelection = new JMenuItem("删除(S) ", ’S’);
menuEditDeleteSelection.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));
menuEditDeleteSelection.addActionListener(ML);
// 转到菜单 未完成
/* menuEditGoTo = new JMenuItem("转到(A) ", ’A’);
menuEditGoTo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,
InputEvent.CTRL_MASK));
menuEditGoTo.addActionListener(ML);
*/
// 视图 自动换行
menuViewWordWrap = new JCheckBoxMenuItem("自动换行 ");
menuViewWordWrap.setMnemonic(’W’);
menuViewWordWrap.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,
InputEvent.CTRL_MASK));
menuViewWordWrap.setState(false);
menuViewWordWrap.addActionListener(ML);
// 帮助 关于
menuHelpAbout = new JMenuItem("关于(A)... ", ’A’);
menuHelpAbout.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
menuHelpAbout.addActionListener(ML);
}
private void setRightClickMenu() {
// 设置右键菜单
RCMenuCut = new JMenuItem("剪切(T) ", ’T’);
RCMenuCut.addActionListener(ML);
RCMenuCopy = new JMenuItem("复制(C) ", ’C’);
RCMenuCopy.addActionListener(ML);
RCMenuPaste = new JMenuItem("粘贴(P) ", ’P’);
RCMenuPaste.addActionListener(ML);
RCMenuSelectAll = new JMenuItem("全选(S) ", ’S’);
RCMenuSelectAll.addActionListener(ML);
}
private void setUI() {
frame.getContentPane().setLayout(new BorderLayout());
frame.setJMenuBar(mb);
JPanel p = new JPanel();
// 为文件菜单添加项目
mb.add(menuFile);
menuFile.add(menuFileNew);
menuFile.add(menuFileOpen);
menuFile.add(menuFileSave);
menuFile.add(menuFileSaveAs);
menuFile.addSeparator(); // 分割线
menuFile.add(menuFileExit);
// 为菜单添加项目
mb.add(menuEdit);
menuEdit.add(menuEditCut);
menuEdit.add(menuEditCopy);
menuEdit.add(menuEditPaste);
menuEdit.add(menuSelectAll);
menuEdit.addSeparator();
menuEdit.add(menuEditDeleteSelection);
// menuEdit.add(menuEditGoTo);
// 为察看菜单添加项目
mb.add(menuView);
menuView.add(menuViewWordWrap);
// 为帮助菜单添加项目
mb.add(menuHelp);
menuHelp.add(menuHelpAbout);
// 添加右键菜单
popup.add(RCMenuCut);
popup.add(RCMenuCopy);
popup.add(RCMenuPaste);
popup.add(RCMenuSelectAll);
// 添加滚动区域
scrollPane = new JScrollPane();
JViewport port = scrollPane.getViewport();
textArea = new JTextArea();
textArea.setFont(new Font("Fixedsys", Font.PLAIN, 14));
port.add(textArea);
// 添加组件
frame.add("Center", scrollPane);
// 添加右键菜单响应
textArea.addMouseListener(PL);
// 添加窗口事件
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if(!isFileSave) {
MyActions MA =new MyActions();
receiveReturnPara = MA.fileNotSaveMessage();
String s = new String("");
if (receiveReturnPara == 0){
// 如果选择“是”,则调用保存文件方法,然后再关闭。
try {
PrintWriter out = new PrintWriter(new BufferedWriter(
new FileWriter((s =MA.fileSaveAs()))));
out.print(textArea.getText());
out.close();
} catch (IOException e1) {
e1.printStackTrace();
}
isFileSave = true;
System.exit(0);
} else if (receiveReturnPara == 1) {
// 如果选择“否”,则直接关闭,并告知文件尚未保存。
System.exit(0);
}
} else
System.exit(0);
}
});
// 设置窗口使可见
frame.setSize(800,600);
frame.setVisible(true);
}
void startApp() {
try {
// 把界面设置成windows界面
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception e) {
}
setMenu();
setRightClickMenu();
setUI();
}
class PopupListener extends MouseAdapter {
public void mousePressed(MouseEvent e) {
maybeShowPopup(e);
}
public void mouseReleased(MouseEvent e) {
maybeShowPopup(e);
}
private void maybeShowPopup(MouseEvent e) {
if(e.isPopupTrigger())
popup.show(((JTextArea)e.getComponent()), e.getX(), e.getY());
}
}
class MyListener implements ActionListener {
MyActions MA = new MyActions();
void saveFile() {
try {
PrintWriter out = new PrintWriter(new BufferedWriter(
new FileWriter(MA.fileSaveAs())));
out.print(textArea.getText());
out.close();
} catch (IOException e1) {
e1.printStackTrace();
}
isFileSave = true;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == menuFileNew) {
// 如果没有保存,则在新建文件时候询问
if(!isFileSave) {
receiveReturnPara = MA.fileNotSaveMessage();
if (receiveReturnPara == 0){
// 如果选择“是”,则调用保存的方法,新建文件,并且告知文件是尚未保存的。
textArea.setText("");
isFileSave = false;
} else {
// 如果选择“否”,则直接新建文件,并告知文件尚未保存。
textArea.setText("");
isFileSave = false;
}
} else
textArea.setText("");
}
else if (e.getSource() == menuFileOpen) {
// 如果没有保存,则在新建文件时候询问
if(!isFileSave) {
receiveReturnPara = MA.fileNotSaveMessage();
if (receiveReturnPara == 0){
// 如果选择“是”,则调用保存文件方法,然后再调用打开文件方法。
// 并且告知新开文件是尚未保存的。
textArea.setText("");
textArea.setText(MA.fileOpen());
isFileSave = false;
} else {
// 如果选择“否”,则直接打开文件,并告知文件尚未保存。
textArea.setText("");
textArea.setText(MA.fileOpen());
isFileSave = false;
}
} else {
textArea.setText("");
textArea.setText(MA.fileOpen());
}
}
else if (e.getSource() == menuFileSave) {
saveFile();
}
else if (e.getSource() == menuFileSaveAs) {
saveFile();
}
else if (e.getSource() == menuFileExit) {
if(!isFileSave) {
receiveReturnPara = MA.fileNotSaveMessage();
if (receiveReturnPara == 0){
// 如果选择“是”,则调用保存文件方法,然后再关闭。
saveFile();
System.exit(1);
} else {
// 如果选择“否”,则直接关闭,并告知文件尚未保存。
System.exit(1);
}
} else
System.exit(1);
}
else if ((e.getSource() == menuEditCut) || (e.getSource() == RCMenuCut)) {
textArea.cut();
}
else if ((e.getSource() == menuEditCopy) || (e.getSource() == RCMenuCopy)){
textArea.copy();
}
else if ((e.getSource() == menuEditPaste) || (e.getSource() == RCMenuPaste)) {
textArea.paste();
}
else if ((e.getSource() == menuSelectAll) || (e.getSource() == RCMenuSelectAll)) {
textArea.selectAll();
}
else if(e.getSource() == menuViewWordWrap) {
if (menuViewWordWrap.getState()) {
textArea.setLineWrap(true);
} else {
textArea.setLineWrap(false);
}
}
else if(e.getSource() == menuHelpAbout) {
JOptionPane.showConfirmDialog(null,
"==== 简易记事本 ====\n\nLittlelong\n北京交通大学\n计算机与信息技术学院\n计科0308班\n\nwww.qqpop.com",
"关于",JOptionPane.CLOSED_OPTION);
}
}
}
}
public class Notepad {
public static void main(String args) {
UserInterface Notepad = new UserInterface();
Notepad.startApp();
}
}

关于java记事本课程设计,Java课程设计的目录的介绍到此结束,希望对大家有所帮助。
本文编辑:admin

更多文章:


springbean生命周期(spring生命周期是怎么样的)

springbean生命周期(spring生命周期是怎么样的)

这篇文章给大家聊聊关于springbean生命周期,以及spring生命周期是怎么样的对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录spring生命周期是怎么样的java spring框架中,bean的生命周期是怎么样的请形

香港疫情最新消息今天新增人数(香港现在的情况香港现在什么状况)

香港疫情最新消息今天新增人数(香港现在的情况香港现在什么状况)

“香港疫情最新消息今天新增人数”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看香港疫情最新消息今天新增人数(香港现在的情况香港现在什么状况)!本文目录香港现在的情况香港现在什么状况香港疫情感染总人数有多少香港疫情最新消息国内

胎儿三天能长多大(胎儿股骨三天能长6毫米吗)

胎儿三天能长多大(胎儿股骨三天能长6毫米吗)

各位老铁们好,相信很多人对胎儿三天能长多大都不是特别的了解,因此呢,今天就来为大家分享下关于胎儿三天能长多大以及胎儿股骨三天能长6毫米吗的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录胎儿股骨三天能长6毫米吗超详

java怎么日期减天数(jsp.java 用Calendar 计算两个时间差多少天(时间相减))

java怎么日期减天数(jsp.java 用Calendar 计算两个时间差多少天(时间相减))

今天给各位分享jsp.java 用Calendar 计算两个时间差多少天(时间相减)的知识,其中也会对jsp.java 用Calendar 计算两个时间差多少天(时间相减)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧

net培训为啥没了(为什么现在培训.net的那么少)

net培训为啥没了(为什么现在培训.net的那么少)

其实net培训为啥没了的问题并不复杂,但是又很多的朋友都不太了解为什么现在培训.net的那么少,因此呢,今天小编就来为大家分享net培训为啥没了的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录为什么现在培训.ne

二建考试时间2022(2022年二建b证考试时间)

二建考试时间2022(2022年二建b证考试时间)

这篇文章给大家聊聊关于二建考试时间2022,以及2022年二建b证考试时间对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录2022年二建b证考试时间江苏二建考试时间2022考试时间2022二建考试时间二建考试时间2022考试时

causal名词(因果的词语因果的词语是什么)

causal名词(因果的词语因果的词语是什么)

本篇文章给大家谈谈causal名词,以及因果的词语因果的词语是什么对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录因果的词语因果的词语是什么

织梦编辑器文字颜色(dedecms织梦网站,我复制黏贴word内容时,图片都不显示,请问如何才能方便快捷地把word里面内容上传网站)

织梦编辑器文字颜色(dedecms织梦网站,我复制黏贴word内容时,图片都不显示,请问如何才能方便快捷地把word里面内容上传网站)

“织梦编辑器文字颜色”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看织梦编辑器文字颜色(dedecms织梦网站,我复制黏贴word内容时,图片都不显示,请问如何才能方便快捷地把word里面内容上传网站)!本文目录dedecm

mathworks发音(matlab 怎么发音)

mathworks发音(matlab 怎么发音)

本篇文章给大家谈谈mathworks发音,以及matlab 怎么发音对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录matlab 怎么发音matlab和python哪个更早matlab 怎么发音MATLAB的发音为(连读,t发

kmf英文啥意思(kmf足金999.9是什么意思)

kmf英文啥意思(kmf足金999.9是什么意思)

本篇文章给大家谈谈kmf英文啥意思,以及kmf足金999.9是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录kmf足金999.9是什么意思中国黄金为什么是kmf足金9999nsjskmfnnd中文意思是什么kmf足金

最近更新

java怎么日期减天数(jsp.java 用Calendar 计算两个时间差多少天(时间相减))
2026-09-23 15:10:13 浏览:0
3星手机怎么样(三星s22怎么样)
2026-09-23 14:50:17 浏览:0
热门文章

标签列表