篇一:JAVA课程设计 编写一个记事本程序
Java语言程序设计B报
班级: 学号: 姓名: 成绩:
告
年12月
2012
题目:编写一个记事本程序
一.课程设计题目概要。 1.1课程设计目的 1.2题目设计要求 二.课程设计思路。
三.课程设计实现功能结构图。 3.1“文件”菜单。 3.2“编辑”菜单。
四.记事本实现功能代码实现。
4.1界面设计代码实现及实现截图。 4.2功能代码详细设计4.2.1新建文件4.2.2打开文件4.2.3复制文件4.2.4粘贴文件4.2.5退出记事本 五.JAVA课程设计个人总结。 附:JAVA课程设计程序源代码
一.课程设计题目概要。
1.1课程设计目的。
按照老师要求,编写一个记事本程序,并可以实现老师要求的相关功能。在课程设计过程中,复习巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握,将课本上的理论知识和实际有机的结合起来,锻炼自己的分析解决实际问题的能力,提高自己实践编程的能力。 1.2题目设计要求。
要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。
二.课程设计思路。
设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。
在主界面中设计一个Frame容器,并在其中加入一个下拉 菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。
三.课程设计实现功能结构图。 3.1“文件”菜单。
3.2“编辑”菜单。
篇二:一个用java编写的记事本小程序
package com.xs.pratice;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextPane;
import javax.swing.KeyStroke;
import javax.swing.WindowConstants;
public class NotePadTest extends JFrame {
private static final long serialVersionUID = 7733222986650734523L;
JMenuBar jmb = new JMenuBar();
// 创建子菜单
JMenu jm1 = new JMenu("文件");
JMenu jm2 = new JMenu("编辑");
JMenu jm3 = new JMenu("格式");
JMenu jm5 = new JMenu("帮助");
// 创建菜单项(文件)
JMenuItem jme1 = new JMenuItem("新建");
JMenuItem jme2 = new JMenuItem("打开");
JMenuItem jme3 = new JMenuItem("保存");
JMenuItem jme4 = new JMenuItem("另存为...");
JMenuItem jme5 = new JMenuItem("退出");
// 创建菜单项(编辑)
JMenuItem jme6 = new JMenuItem("全选");
JMenuItem jme7 = new JMenuItem("剪切");
JMenuItem jme8 = new JMenuItem("复制");
JMenuItem jme9 = new JMenuItem("粘贴"); JMenuItem jme10 = new JMenuItem("删除"); // 创建菜单项(格式) JCheckBoxMenuItem jme11 = new JCheckBoxMenuItem("自动换行", false); // 创建菜单项(帮助) JMenuItem jme14 = new JMenuItem("查看帮助"); JMenuItem jme15 = new JMenuItem("关于记事本"); // 实例化文本域 JTextArea jtext = new JTextArea(); JTextPane pane = new JTextPane();// 文本窗格 JScrollPane jscroll = new JScrollPane(jtext); JTextPane jtshow = new JTextPane(); public NotePadTest() { setTitle("记事本"); setSize(500, 460); setLocationRelativeTo(null); pane.setLayout(new BorderLayout()); // 设置快捷键 jme1.setMnemonic('N'); jme1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_MASK)); jme2.setMnemonic('O'); jme2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK)); jme3.setMnemonic('S'); jme3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_MASK)); jme6.setMnemonic('A'); jme6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, KeyEvent.CTRL_MASK)); jme7.setMnemonic('X'); jme7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_MASK)); jme8.setMnemonic('C'); jme8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_MASK)); jme9.setMnemonic('V'); jme9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.CTRL_MASK)); jme10.setMnemonic('L'); jme10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, KeyEvent.CTRL_MASK)); // 添加菜单项到子菜单(文件) jm1.add(jme1); jm1.addSeparator(); jm1.add(jme2); jm1.addSeparator(); jm1.add(jme3); jm1.addSeparator(); jm1.add(jme4); jm1.addSeparator();
jm1.add(jme5); jmb.add(jm1); // 添加菜单项到子菜单(编辑) jm2.add(jme6); jm2.addSeparator(); jm2.add(jme7); jm2.addSeparator(); jm2.add(jme8); jm2.addSeparator(); jm2.add(jme9); jm2.addSeparator(); jm2.add(jme10); jmb.add(jm2); // 添加菜单项到子菜单(格式) // 设置快捷键 jme11.setMnemonic('w'); jme11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, KeyEvent.CTRL_MASK)); jm3.add(jme11); jmb.add(jm3); // 添加菜单项到子菜单(帮助) jm5.add(jme14); jm5.addSeparator(); jm5.add(jme15); jmb.add(jm5); // 将菜单栏添加到窗体顶部 setJMenuBar(jmb); // container.add(jmb,BorderLayout.NORTH); // 添加文本域 pane.add(jscroll, BorderLayout.CENTER); add(pane);
// **************************添加事件监听器(全选部分)*******************************
jme6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtext.selectAll();// 全选
}
});
// **************************添加事件监听器(剪切部分)*******************************
jme7.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtext.cut();// 剪切
}
});
// **************************添加事件监听器(复制部分)*******************************
jme8.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtext.copy();// 复制
}
});
// **************************添加事件监听器(粘贴部分)*******************************
jme9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtext.paste();// 粘贴
}
});
// **************************添加事件监听器(删除部分)*******************************
jme10.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
} }); jtext.replaceSelection(null);// 删除
// **************************添加事件监听器(新建部分)********************************
jme1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jtext.getText().equals("")) {
jtext.setText("");
} else {
int result = JOptionPane.showConfirmDialog(NotePadTest.this, "是否将更改保存到无标题?", "记事本",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (result == 0) {
save();
}
}
}
});
// **************************添加事件监听器(打开部分)********************************
jme2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser choose = new JFileChooser();
choose.setDialogTitle("打开");
File file;
int result = choose.showOpenDialog(NotePadTest.this);
if (result == JFileChooser.APPROVE_OPTION) {
try { // 获取当前选择的文件
// 创建文件输出流
file = choose.getSelectedFile();
BufferedReader br = new BufferedReader(new FileReader(file)); String str = null;
while ((str = br.readLine()) != null) {
jtext.append(str + "\r\n");
}
// 设置记事本标题
setTitle(file.getName() + " 记事本");
br.close();
} catch (Exception ee) {
ee.printStackTrace();
}
}
}
});
// **************************添加事件监听器(保存部分)********************************
jme3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jtext.getText() != null && !jtext.getText().equals("")) {
save();
}
}
});
// **************************添加事件监听器(另存为部分)********************************
jme4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jtext.getText() != null && !jtext.getText().equals("")) {
篇三:java编写的记事本程序
最近老师布置的一道作业题,是完成类似微软记事本的程序,但是只要实现界面,不用完成细节,闲下来的时候,将程序作了一定的完善,但是还有个别功能尚未实现,现将本程序和大家分享,望指点。
该程序写在一个名为notepad的包中,共有以下几个程序:
Aboutdialog.java
Findandreplace.java
Fontdialog.java
Notepad.
Setcolor.java
1.初始界面
2.打开文件界面
3.字体选择界面
4.设定好背景色和前景色的界面
5.颜色选择界面
6,状态栏被选中的情况
7.状态栏未被选中的情况
《如何使用记事本编写java程序》出自:百味书屋
链接地址:http://www.850500.com/news/70924.html
转载请保留,谢谢!