给你个做好了的Java的源程序的记事本,自己看看就行了的,不怎么难的---
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class MyNotepad implements ActionListener{
private JFrame frame=new JFrame("新记事本");
private JTextArea jta=new JTextArea();
private String result="";
private boolean flag=true;
private File f;
private JButton jb=new JButton("开始");
private JButton jbt=new JButton("替换为");
private JButton jba=new JButton("全部替换");
private Icon ic=new ImageIcon("D:\\java课堂笔记\\GUI\\11.gif");
private String value;
private int start=0;
private JFrame jf=new JFrame("查找");
private JFrame jfc=new JFrame("替换");
@Override
public void actionPerformed(ActionEvent e) {
String comm=e.getActionCommand();
if("新建".equals(comm)){
if(!(frame.getTitle().equals("新记事本"))){
if(!flag){
write();
newNew();
}else{
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
}
}else if(!(jta.getText().isEmpty())){
}else if("打开".equals(comm)){
jfc.setDialogType(JFileChooser.OPEN_DIALOG);
int returnVal = jfc.showOpenDialog(null);
frame.setTitle(f.getName());
result=read();
value=result;
jta.setText(result);
}else if("保存".equals(comm)){
if(flag){
}else if("另存".equals(comm)){
int returnVal = jfc.showDialog(null,"另存");
}else if("退出".equals(comm)){
System.exit(0);
}else if("撤销".equals(comm)){
jta.setText(value);
}else if("剪切".equals(comm)){
value=jta.getText();
jta.cut();
}else if("复制".equals(comm)){
jta.copy();
}else if("粘贴".equals(comm)){
jta.paste();
}else if("删除".equals(comm)){
jta.replaceSelection(null);
}else if("全选".equals(comm)){
jta.selectAll();
}else if("查找".equals(comm)){
jf.add(jtf,BorderLayout.CENTER);
jf.add(jb,BorderLayout.SOUTH);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}else if("替换".equals(comm)){
JLabel jl1=new JLabel("查找内容:");
jfc.setLayout(gl);
jfc.add(jl1);
jfc.add(jtf);
jfc.add(jb);
jfc.add(jt);
jfc.add(jbt);
jfc.add(jba);
jfc.pack();
jfc.setVisible(true);
jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}else if("版本".equals(comm)){
JDialog jd=new JDialog(frame,"关于对话框");
JLabel l=new JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");
jd.add(l,BorderLayout.CENTER);
jd.setVisible(true);
//jd.pack();
jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}else if("开始".equals(comm)||"下一个".equals(comm)){
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1){
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jb.setText("下一个");
//value=value.substring(s+temp.length());//不能截取字串
}else {
JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);
jf.dispose();
}else if("替换为".equals(comm)){
jta.replaceSelection(jt.getText());
}else if("全部替换".equals(comm)){
String temp=jta.getText();
temp=temp.replaceAll(jtf.getText(), jt.getText());
jta.setText(temp);
public String read(){
String temp="";
try {
FileInputStream fis = new FileInputStream(f.getAbsolutePath());
while(true){
int num=fis.read(b);
if(num==-1)break;
temp=temp+new String(b,0,num);
fis.close();
} catch (Exception e1) {
e1.printStackTrace();
return temp;
public void write(){
FileOutputStream fos=new FileOutputStream(f);
fos.write(jta.getText().getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
public void newNew(){
frame.dispose();
new MyNotepad();
flag=true;
public MyNotepad(){
JMenuBar jmb=new JMenuBar();
String[][] menuItemLab={{"新建","打开","保存","另存","退出"},
{"撤销","剪切","复制","粘贴","删除","全选","查找","替换"},
{"版本"}};
for(int i=0;imenuLab.length;i++){
JMenu menu=new JMenu(menuLab[i]);
jmb.add(menu);
for(int j=0;jmenuItemLab[i].length;j++){
JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);
menu.add(jmi);
jmi.addActionListener(this);
frame.setJMenuBar(jmb);
jta.setLineWrap(true);//自动换行
JScrollPane jsp=new JScrollPane(jta);//滚动窗口面板
frame.add(jsp);
jb.addActionListener(this);
jbt.addActionListener(this);
jba.addActionListener(this);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
public static void main(String[] args) {
package tuxingjiemian;
import javax.swing.event.*;
import java.io.File;
import java.io.PrintStream;
public class jishiben extends JFrame {
JPanel jp=new JPanel();
JFrame find_replace=new JFrame();
JMenu file=new JMenu("文件");
JMenu help=new JMenu("帮助");
JMenuBar menubar=new JMenuBar();
JTextArea aa=new JTextArea();
class Open implements ActionListener {
JFileChooser jf= new JFileChooser();
jf.showOpenDialog(jishiben.this);
PrintStream p=new PrintStream(jf.getSelectedFile().getPath());
class Save implements ActionListener {
jf.showSaveDialog(jishiben.this);
public jishiben(){
this.setTitle("记事本");
this.setLayout(new BorderLayout());
JMenuItem open=new JMenuItem("打开");
open.addActionListener(new Open());
JMenuItem save=new JMenuItem("保存");
save.addActionListener(new Save());
JMenuItem exit=new JMenuItem("退出");
exit.addActionListener(new ActionListener() {
});
file.add(open);
file.add(save);
file.addSeparator();
file.add(exit);
menubar.add(file);
this.add(new JScrollPane(aa),BorderLayout.CENTER);
JMenuItem copy=new JMenuItem("复制");
JMenuItem past=new JMenuItem("粘贴");
JMenuItem delete=new JMenuItem("删除");
JMenuItem find=new JMenuItem("查找");
JMenuItem replace=new JMenuItem("替换");
copy.addActionListener(new ActionListener() {
jishiben.this.aa.copy();
past.addActionListener(new ActionListener() {
jishiben.this.aa.paste();
delete.addActionListener(new ActionListener() {
jishiben.this.aa.replaceSelection(null);
edit.add(copy);
edit.add(past);
edit.add(delete);
edit.add(find);
edit.add(replace);
menubar.add(edit);
help.add(new JMenuItem("帮助"));
menubar.add(help);
this.add(menubar,BorderLayout.NORTH);
this.setVisible(true);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
new jishiben();
};
import java.util.Calendar;
import java.util.Date;
class Editor extends Frame implements ActionListener,ItemListener
{
// Date date=new Date();
Dialog dialog,dialog1;
public Editor (String s)
ImageIcon YouImg = new ImageIcon("iconimage.jpg");
setIconImage(YouImg.getImage());
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
MenuBar mb=new MenuBar();
setMenuBar(mb);
Menu pattern=new Menu("格式(P)");Menu time=new Menu("时间(T)");
MenuItem exit=new MenuItem("退出",new MenuShortcut(KeyEvent.VK_Q));
MenuItem tdate=new MenuItem("日期/时间",new MenuShortcut(KeyEvent.VK_D));
MenuItem renew=new MenuItem("新建", new MenuShortcut(KeyEvent.VK_N));
MenuItem save=new MenuItem("保存", new MenuShortcut(KeyEvent.VK_S));
MenuItem open=new MenuItem("打开",new MenuShortcut(KeyEvent.VK_O));
MenuItem copy=new MenuItem("复制",new MenuShortcut(KeyEvent.VK_C));
MenuItem paste=new MenuItem("粘贴",new MenuShortcut(KeyEvent.VK_V));
MenuItem cut=new MenuItem("剪切",new MenuShortcut(KeyEvent.VK_X));
MenuItem helptopic=new MenuItem("主题",new MenuShortcut(KeyEvent.VK_T));
helptopic.addActionListener(this);
dialog.addWindowListener(new WindowAdapter(){
dialog.setVisible(false);}
dialog1.addWindowListener(new WindowAdapter(){
dialog1.setVisible(false);}
//dialog.setBackground(Color.WHITE);
ta1=new TextArea("至于记事本的主题嘛,因为本人的水平有限, 所有不能为大家作过多的指导,望大家见谅!"); //今天这一节我想加一个文本框用来放帮助信息.
ce1.add("华文行楷");ce1.add("华文中宋");ce1.add("华文新魏");ce1.add("华文细黑");ce1.add("宋体");ce1.add("方正姚体");
for(int n1=0;n1=100;n1++)
p1.setLayout( null);
dialog1.add(ta1);
//设置字体的下拉情况
MenuItem Font=new MenuItem("字体");//给字体加监听器
Font.addActionListener(this);
MenuItem Replace=new MenuItem("替换"); MenuItem Seek=new MenuItem("查找");
//首要添加组件的情况
mb.add(file);mb.add(edit);mb.add(pattern);mb.add(time);mb.add(help);
file.add(renew);file.addSeparator();file.add(open);time.add(tdate);
file.addSeparator(); file.add(exit);file.addSeparator();file.add(save);
edit.add(copy); edit.addSeparator();edit.add(paste);edit.addSeparator();edit.add(cut);
pattern.add(Font); pattern.add(Replace);
pattern.add(Seek);help.add(helptopic);
//给必要的组件加上监听器
renew.addActionListener( this);tdate.addActionListener(this);
open.addActionListener(this); save.addActionListener(this);exit.addActionListener(this);
cut.addActionListener(this);copy.addActionListener(this);paste.addActionListener(this);
//添加必要的组件
setVisible(true);
this.validate() ;
public void itemStateChanged(ItemEvent e) {
public void actionPerformed(ActionEvent e)
if(e.getActionCommand().equals("新建"))
{System.out.println("new ");
ta.setText("");}
if(e.getActionCommand().equals("退出"))
{ System.exit(0);}
try
if(e.getActionCommand().equals("打开"))
openText();
if(e.getActionCommand().equals("保存"))
saveText();
}catch(IOException e1){}
if(e.getActionCommand().equals("复制"))
{ str=ta.getSelectedText();}
if(e.getActionCommand().equals("粘贴"))
{ ta.insert(str,ta.getCaretPosition());}
if(e.getActionCommand().equals("剪切"))
{str=ta.getSelectedText();ta.replaceRange("",ta.getSelectionStart(),ta.getSelectionEnd());
if(e.getActionCommand().equals("字体"))
{dialog.setVisible(true);}
if(e.getActionCommand().equals("主题"))
{dialog1.setVisible(true);}
if(e.getActionCommand().equals("颜色"))
Color clr=JColorChooser.showDialog(this,"颜色对话框",null);
ta.setForeground(clr);
dialog.setVisible(false);
if(e.getSource()==btn1)
if(k==1)
//if (e.getActionCommand().equals("日期/时间"))
//ta.setText(ta.getText()+""+date);
if(e.getActionCommand().equals("日期/时间"))
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);
public void openText() throws IOException
FileDialog fd=new FileDialog(this,"打开文件对话框",FileDialog.LOAD);
fd.setVisible(true);FileInputStream fis=new FileInputStream(fd.getDirectory()+fd.getFile());
ta.setText("");
int n=0;
while((n=fis.read())!=-1)
ta.append(""+(char)n);
public void saveText() throws IOException
FileDialog fd=new FileDialog(this,"打开文件对话框",FileDialog.SAVE);
fd.setVisible(true);
FileOutputStream out=new FileOutputStream(fd.getDirectory()+fd.getFile()+".txt");
String str=ta.getText();
String str1=ta.getText();
for(int n=0;nstr.length();n++)
out.write((byte)str.charAt(n));
out.close();
public static void main(String[] args)
Editor f=new Editor(" 记事本程序");
//添加时间代码
Date date=new Date();
System.out.print(date);
/*Calendar now=Calendar.getInstance();
int year=now.get(Calendar.YEAR);
int month=now.get(Calendar.MONTH)+1;
int day=now.get(Calendar.DATE);
System.out.print(year+"年"+month+"月"+day+"日");
int week=now.get(Calendar.DAY_OF_WEEK);
class dialog extends Dialog
public dialog()
super(dialog, "字体设置");
class Mycanvas extends Canvas
Toolkit tk;
Image img;
Mycanvas()
tk=getToolkit();
img=tk.getImage("photo.jpg");
public void paint(Graphics g)
/*
* WriteBoard.java
*
*/
/**
* @author LecH.giF
import java.awt.datatransfer.*;
import java.awt.FileDialog;
public class WriteBoard extends java.awt.Frame {
Clipboard clipboard =null;
FileDialog fc = new FileDialog(this);
/** Creates new form WriteBoard */
public WriteBoard() {
clipboard = getToolkit().getSystemClipboard();
initComponents();
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
// editor-fold defaultstate="collapsed" desc=" Generated Code "
private void initComponents() {
textArea1 = new java.awt.TextArea();
menuBar1 = new java.awt.MenuBar();
menu1 = new java.awt.Menu();
menuItem1 = new java.awt.MenuItem();
setTitle("WriteBoard");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
add(textArea1, java.awt.BorderLayout.CENTER);
menu1.setLabel("Menu");
menuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
newText(evt);
menu1.add(menuItem1);
open(evt);
exit(evt);
menuBar1.add(menu1);
setMenuBar(menuBar1);
pack();
}// /editor-fold
fc.show();
if(fc.getFile()!=null){
File file = new File(fc.getFile());
PrintWriter pw = new PrintWriter(file);
pw.print(textArea1.getText());
pw.flush();
pw.close();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
else{
return;
Transferable contents = clipboard.getContents(this);
DataFlavor flavor = DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor))
try{
String str;
str=(String)contents.getTransferData(flavor);
textArea1.append(str);
}catch(Exception e){}
String temp = this.textArea1.getSelectedText();
StringSelection text = new StringSelection(temp);
clipboard.setContents(text,null);
int start = textArea1.getSelectionStart();
int end = textArea1.getSelectionEnd();
textArea1.replaceRange("",start,end);
private void open(java.awt.event.ActionEvent evt) {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String s;
while((s= br.readLine())!=null){
textArea1.append(s+"\n");
fr.close();
br.close();
} catch (IOException ex) {
private void newText(java.awt.event.ActionEvent evt) {
this.textArea1.setText("");
private void exit(java.awt.event.ActionEvent evt) {
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
* @param args the command line arguments
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new WriteBoard().setVisible(true);
// Variables declaration - do not modify
private java.awt.Menu menu1;
private java.awt.MenuBar menuBar1;
private java.awt.MenuItem menuItem1;
private java.awt.TextArea textArea1;
// End of variables declaration
import javax.swing.border.*;
class test implements ActionListener
JFrame frame;
JTextArea ta;
JMenuBar mb;
ButtonGroup bg;
int a=0;
char c1;
int i=0;
test that=new test();
that.go();
public void go()
frame=new JFrame("计算器");
Container cp= frame.getContentPane();
cp.setLayout(new FlowLayout());
mb=new JMenuBar();
bg=new ButtonGroup();
p1.setBackground(Color.yellow);
cp.setBackground(Color.CYAN);
frame.setJMenuBar(mb);
ta.setEditable(false);
p1.add(ta);
Border etched=BorderFactory.createEtchedBorder();
Border border=BorderFactory.createTitledBorder(etched,"计算类型");
b1.addActionListener(this);
b10.addActionListener(this);
b11.setActionCommand("*");
b11.addActionListener(this);
rb1.setActionCommand("kxx");
rb1.addActionListener(this);
public void actionPerformed(ActionEvent e) //throws Exception
if (e.getActionCommand()=="bzx")
if (e.getActionCommand()=="kxx")
if (e.getActionCommand()=="1")
ta.append("1");
if (e.getActionCommand()=="0")
ta.append("0");
if (e.getActionCommand()=="+")
s1=ta.getText();
d1 = Double.parseDouble(s1);
i=1;
if (e.getActionCommand()=="-")
if (e.getActionCommand()=="*")
if (e.getActionCommand()=="/")
if (e.getActionCommand()=="=")
if(i==1)
ta.setText("ERROR");
else
if (e.getActionCommand()=="C")
/*if (e.getActionCommand()=="Backspace")
//ta.cut(ta.select(a-1,a));
if (e.getActionCommand()=="1/x")
if (e.getActionCommand()==".")
ta.append(".");
if (e.getActionCommand()=="+/-")
if (e.getActionCommand()=="x^y")
if (e.getActionCommand()=="√x")
if (e.getActionCommand()=="x!")
if (d10)
ta.setText( "error");
else if (d1==0)
ta.setText( "0.0");
else {
for (int k=1;k=d1 ;k++ )
if (e.getActionCommand()=="sin")
①.、首先在电脑中新建一个记事本,将记事本的后缀改为".java",如下图所示.
以上就是土嘎嘎小编为大家整理的博学谷java记事本代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!