當前位置:股票大全官網 - 股票投資 - Java簡單記事本代碼

Java簡單記事本代碼

下面的代碼是壹個完整的實現,妳只需要復制就可以了~ ~

導入Java . io . *;

導入Java . awt . *;

導入Java . awt . event . *;

導入javax . swing . *;

導入javax . swing . event . *;

導入javax。*;

導入Java . awt . *;

導入Java . awt . event . *;

導入Java . io . *;

導入Java . util . *;

導入Java . text . *;

導入javax . swing . *;

導入javax . swing . event . *;

導入javax . swing . undo . *;

導入javax . swing . text . *;

公開課

{

公共靜態void main(String args[])

{

new TextPad();

}

}

類TextPad擴展JFrame實現ActionListener

{

JTextArea jta=new JTextArea("小廖筆記本:)",18,52);

jcheckbox menuitem MTO 1 = new jcheckbox menuitem(" word wrap ",true);

string ss 1 = JTA . gettext();

UndoableEditListener UE = new undo hander();

undo manager undo = new undo manager();

int StartFindPos=0,a=0,b = 0;

GridBagConstraints gbc = new GridBagConstraints();

//維度dd =新維度();

// jta.getDocument()。addUndoableEditListener(UE);

公共文本板()

{

//MyMenuListener ml = new MyMenuListener();

//JTextArea jta=new JTextArea("這是我的textpad ",18,52);

//system . out . println(DD . getheight());

//system . out . println(DD . getwidth());

//system . out . println(this . getheight());

//system . out . println(this . getwidth());

//system . out . println(" OK ");

This.setTitle(“壹個全功能的JAVA記事本”);

this.setLocation(180,100);

JTA . setline wrap(true);

JTA . setwrapstyleword(true);

JPanel jp = new JPanel();

JScrollPane JSP = new JScrollPane(JTA);

jp . add(JSP);

//Rectangle rt=new Rectangle(0,0,this.getWidth(),this . getheight());

//JSP . set bounds(rt);

//system . out . println(this . getheight());

//system . out . println(this . getwidth());

JMenu MF = new JMenu(" file(f)");

J menuitem MTF 1 = New J menuitem(" New ");

MTF 1 . addactionlistener(this);

JMenuItem MTF 2 = new JMenuItem(" open ");

//MTF 2 . set accelerator(keystroke . get keystroke(key event。VK_O,輸入事件。CTRL _ MASK));

MTF 2 . addactionlistener(this);

JMenuItem mt F3 = new JMenuItem(" save ");

//mt F3 . set accelerator(keystroke . get keystroke(key event。VK,輸入事件。CTRL _ MASK));

mt F3 . addactionlistener(this);

JMenuItem mtf4=new JMenuItem("另存為");

MTF 4 . addactionlistener(this);

JMenuItem mt F5 = new JMenuItem(" exit ");

mt F5 . addactionlistener(this);

JMenu me = new JMenu(" Edit(e)");

J menuitem mte 1 = New J menuitem(" Undo ");

mte 1 . addactionlistener(this);

jta.getDocument()。addUndoableEditListener(UE);

if(undo.canUndo())

{

mte 1 . set enabled(false);

}

JMenuItem mte 2 = new JMenuItem(" cut ");

mte 2 . addactionlistener(this);

JMenuItem mt E3 = new JMenuItem(" copy ");

mte 3 . addactionlistener(this);

JMenuItem mte 4 = new JMenuItem(" paste ");

mte 4 . addactionlistener(this);

//JMenuItem mte 5 = new JMenuItem(" delete ");

//mte 5 . addactionlistener(this);

JMenuItem mte 6 = new JMenuItem(" search ");

mte 6 . addactionlistener(this);

//JMenuItem mte 7 = new JMenuItem(" find next ");

JMenuItem mte 8 = new JMenuItem(" replacement ");

mte 8 . addactionlistener(this);

//JMenuItem mte 9 = new JMenuItem(" go ");

J menuitem MTE 10 = New J menuitem(" Select All ");

mte 10 . addactionlistener(this);

J menuitem MTE 11 = new J menuitem(" date/time ");

mte 11 . addactionlistener(this);

JMenu mo = new JMenu(" format(o)");

//jcheckbox menuitem MTO 1 = new jcheckbox menuitem(" word wrap(w)");

MTO 1 . addactionlistener(this);

JMenuItem MTO 2 = new JMenuItem(" font ");

MTO 2 . addactionlistener(this);

JMenu mv = new JMenu(" View(v)");

J menuitem MTV 1 = new J menuitem("狀態欄");

MTV 1 . set enabled(false);

JMenu MH = new JMenu(" help(h)");

J menuitem MTH 1 = New J menuitem("關於記事本");

mth 1 . addactionlistener(this);

JMenuBar MB = new JMenuBar();

this.addWindowListener(新WindowAdapter()

{

公共void窗口關閉(WindowEvent e)

{

system . exit(0);

}

}

);

MB . add(MF);

mb.add(我);

MB . add(mo);

MB . add(mv);

MB . add(MH);

this . setjmenubar(MB);

MF . add(MTF 1);

MF . add(MTF 2);

MF . add(mt F3);

MF . add(MTF 4);

MF . add separator();

MF . add(mt F5);

me . add(mte 1);

me . add separator();

me . add(mte 2);

me . add(mt E3);

me . add(mte 4);

//me . add(mte 5);

me . add separator();

me . add(mte 6);

//me . add(mte 7);

me . add(mte 8);

//me . add(mte 9);

me . add separator();

me . add(mte 10);

me . add(mte 11);

mo . add(MTO 1);

mo . add(MTO 2);

mv . add(MTV 1);

MH . add(mth 1);

this.getContentPane()。添加(JSP);

this.setSize(600,400);

this . setresizable(true);

this . set visible(true);

}

公共無效操作已執行(操作事件e)

{

If(e.getActionCommand()。等於("打開"))

{

嘗試

{

框架f =新框架();

FileDialog fd=new FileDialog(f,“打開文件”,FileDialog。負載);

FD . set visible(true);

string fpath = FD . get directory();

string fname = FD . getfile();

buffered reader br = new buffered reader(new file reader(fpath+fname));

JTA . settext(" ");

string s = br . readline();

while(s!=空)

{

JTA . append(s+" \ n ");

s = br . readline();

}

br . close();

}

catch(例外ex)

{

}

}

If(e.getActionCommand()。等於(“保存”))

{

字符串fns = null

幀f =新幀(“保存”);

FileDialog fd=new FileDialog(f,“保存文件”,FileDialog。保存);

fd.setFile("*。txt ");

FD . set visible(true);

嘗試

{

string save path = FD . get directory();

string savename = FD . getfile();

if(savename!=空)

{

PrintWriter pw = new PrintWriter(new buffered writer(new FileWriter(save path+save name)));

pw.write(jta.getText(),0,jta.getText()。length());

pw . flush();

}

}

catch(異常保存)

{

}

}

If(e.getActionCommand()。等於("新"))

{

JTA . settext(" ");

}

If(e.getActionCommand()。等於("另存為"))

{

幀f =新幀(“保存”);

FileDialog fd=new FileDialog(f,“文件另存為”,FileDialog。保存);

FD . set visible(true);

嘗試

{

string save path = FD . get directory();

string savename = FD . getfile();

if(savename!=空)

{

PrintWriter pw = new PrintWriter(new buffered writer(new FileWriter(save path+save name)));

pw.write(jta.getText(),0,jta.getText()。length());

pw . flush();

}

}

catch(異常保存)

{

}

}

If(e.getActionCommand()。等於("退出"))

{

string ss2 = JTA . gettext();

如果(!ss1.equals(ss2))

{

System.out.println("文件已更改。");

}

system . exit(0);

}

If(e.getActionCommand()。等於(“撤消”))

{

嘗試

{

undo . undo();

//system . out . println(undo . can undo());

}

catch(例外eundo)

{

}

}

If(e.getActionCommand()。等於(“切割”))

{

JTA . cut();

}

If(e.getActionCommand()。等於(“復制”))

{

JTA . copy();

}

If(e.getActionCommand()。等於(“粘貼”))

{

JTA . paste();

}

If(e.getActionCommand()。等於("刪除"))

{

}

If(e.getActionCommand()。等於("全選"))

{

JTA . selectall();

}

If(e.getActionCommand()。等於("搜索"))

{

嘗試

{

Final JDialog jd=new JDialog(this,“search”,true);

GridBagLayout gbl = new GridBagLayout();

GridBagConstraints gbc = new GridBagConstraints();

gbc.weightx = 0.5

gbc.weighty = 0.5

gbc . grid width = 1;

gbc . grid height = 1;

jd.getContentPane()。set layout(gbl);

jd.setSize(380,100);

JD . setresizable(false);

//JD . setdefaultlookandfeeltured(true);

final JTextField jtf = new JTextField(15);

JLabel jlFind = new JLabel(" Find content:");

jd.getContentPane()。添加(jlFind);

JButton JB find = new JButton(" search ");

jbFind.addActionListener(新的ActionListener()

{

public void action performed(ActionEvent efind)

{

string strA = JTA . gettext();

string strB = jtf . gettext();

如果(a & gt=0)

{

a=strA.indexOf(strB,StartFindPos);

b = strb . length();

StartFindPos = a+b;

如果(a==-1)

{

Joptionpane。顯示消息對話框(空,“沒有妳要找的信息”,“搜索結果”,1);

a = 0;

StartFindPos = 0;

}

jta.select(a,StartFindPos);

}

}

}

);

JButton JB cancel = new JButton(" cancel ");

jbCancel.addActionListener(新的ActionListener()

{

public void action performed(action event EJB)

{

JD . dispose();

}

}

);

jd.getContentPane()。添加(jtf);

jd.getContentPane()。添加(jbFind);

jd.getContentPane()。添加(JB cancel);

//JD . setresizable(false);

jd.setLocation(240,200);

JD . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);

JD . set visible(true);

}

catch(異常查找)

{

}

}

If(e.getActionCommand()。等於(“替換”))

{

Final JDialog jd=new JDialog(this,“替換”,true);

GridBagLayout gbl = new GridBagLayout();

GridBagConstraints gbc = new GridBagConstraints();

gbc . weightx = 1;

gbc . weighty = 1;

gbc . grid width = 1;

gbc . grid height = 1;

JLabel jlFind = new JLabel(" search:");

JLabel jp=new JLabel("替換內容:");

final JTextField jtf = new JTextField(15);

final JTextField jtf 1 = new JTextField(15);

jd.getContentPane()。set layout(gbl);

jd.setSize(330,150);

JD . setresizable(false);

最終jbutton JB replace = new jbutton(" replacement ");

final jbutton jbreplaceall = new jbutton(" replace all ");

final jbutton JB cancel = new jbutton(" cancel ");

final JButton JB find = new JButton(" search ");

gbc . gridx = 0;

gbc . gridy = 0;

jd.getContentPane()。添加(jlFind,gbc);

gbc . gridx = 1;

gbc . gridy = 0;

jd.getContentPane()。添加(jtf1,gbc);

gbc . gridx = 2;

gbc . gridy = 0;

jd.getContentPane()。add(jbFind,gbc);

gbc . gridx = 0;

gbc . gridy = 1;

jd.getContentPane()。add(jp,gbc);

gbc . gridx = 1;

gbc . gridy = 1;

jd.getContentPane()。添加(jtf,gbc);

gbc . gridx = 2;

gbc . gridy = 1;

jd.getContentPane()。add(jbReplace,gbc);

gbc . gridx = 2;

gbc . gridy = 2;

jd.getContentPane()。add(jbReplaceAll,gbc);

gbc . gridx = 2;

gbc . gridy = 3;

jd.getContentPane()。add(jbCancel,gbc);

jbFind.addActionListener(新的ActionListener()

{

public void action performed(ActionEvent efind)

{

string strA = JTA . gettext();

string strB = jtf 1 . gettext();

如果(a & gt=0)

{

a=strA.indexOf(strB,StartFindPos);

//system . out . println(a+b);

b = strb . length();

StartFindPos = a+b;

如果(a==-1)

{

Joptionpane。顯示消息對話框(空,“沒有妳要找的信息”,“搜索結果”,1);

a = 0;

StartFindPos = 0;

}

jta.select(a,StartFindPos);

//system . out . println(StartFindPos);

}

}

}

);

jbReplace.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

If(e.getActionCommand()。等於(“替換”))

{

string strRepleace = jtf . gettext();

JTA . replace selection(strreplace);

}

}

}

);

jbReplaceAll.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

while(a & gt;-1)

{

string strA = JTA . gettext();

string strB = jtf 1 . gettext();

a=strA.indexOf(strB,StartFindPos);

如果(a==-1)

{

打破;

}

//system . out . println(a+b);

b = strb . length();

StartFindPos = a+b;

//system . out . println(StartFindPos);

jta.select(a,StartFindPos);

//system . out . println(StartFindPos);

string strRepleaceAll = jtf . gettext();

JTA . replace selection(strRepleaceAll);

StartFindPos = a+b;

}

Joptionpane。顯示消息對話框(空,“全部替換”,“替換內容”,1);

a = 0;

StartFindPos = 0;

}

}

);

jbCancel.addActionListener(新的ActionListener()

{

public void action performed(action event EJB)

{

JD . dispose();

}

}

);

jd.setLocation(240,200);

JD . set visible(true);

JD . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);

}

If(e.getActionCommand()。等於("日期/時間"))

{

Final JDialog jd=new JDialog(this,“插入日期”);

JPanel jp 1 = new JPanel();

jp1.setLayout(新流程布局(流程布局。左));

final JTextField jtf = new JTextField(10);

JButton JK = new JButton(" OK ");

JButton JB cancel = new JButton(" cancel ");

//Calendar cl = Calendar . getinstance();

//date format df = date format . getinstance();

//String sdate 1 = df . format(cl . gettime());

//jtf . settext(sdate 1);

jp 1 . add(jtf);

jp 1 . add(jko b);

jp 1 . add(JB cancel);

jd.getContentPane()。add(jp1,"北");

JPanel jp2 = new JPanel();

jp2.setLayout(新流程布局(流程布局。左));

final jcheckbox JCB 1 = new jcheckbox(" format 1 ");

final jcheckbox JCB 2 = new jcheckbox(" format 2 ");

final jcheckbox JC B3 = new jcheckbox(" format 3 ");

jp2 . add(JCB 1);

jp2 . add(JCB 2);

jp2 . add(JCB 3);

jd.getContentPane()。add(jp2,“居中”);

jd.setSize(220,120);

JD . setresizable(false);

jd.setLocation(240,200);

final SimpleDateFormat SDF = new SimpleDateFormat(" yyyy-MM-DD ");

calendar cl = calendar . getinstance();

date format df = date format . getinstance();

最終字符串sdate = df . format(cl . gettime());

jcb1.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

If(e.getActionCommand()。等於("格式壹"))

{

if(jcb1.isSelected())

{

嘗試

{

簡單日期格式SDF1 =新的簡單日期格式(" YY年MM月dd日");

date d = SDF . parse(sdate);

jtf . settext(SDF 1 . format(d));

JCB 2 . set enabled(false);

JCB 3 . set enabled(false);

}

catch(異常estyle1)

{

estyle1 . printstacktrace();

}

}

其他

{

JCB 2 . set enabled(true);

JCB 3 . set enabled(true);

}

嘗試

{

system . out . println(JTA . getlinestartoffset(3));

//system . out . println(JTA . getlineofoffset(346));

}

捕捉(異常eee)

{

}

}

}

}

);

jcb2.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

If(e.getActionCommand()。等於("格式2 "))

{

if(jcb2.isSelected())

{

嘗試

{

simple date format SDF 1 =新的simple date format(" YY/MM/DD ");

date d = SDF . parse(sdate);

jtf . settext(SDF 1 . format(d));

JCB 1 . set enabled(false);

JCB 3 . set enabled(false);

}

catch(異常類型2)

{

estyle2 . printstacktrace();

}

}

其他

{

JCB 1 . set enabled(true);

JCB 3 . set enabled(true);

}

//system . out . println(JCB 1 . is selected());

}

}

}

);

jcb3.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

If(e.getActionCommand()。等於("格式3 "))

{

if(jcb3.isSelected())

{

jtf . settext(sdate);

JCB 1 . set enabled(false);

JCB 2 . set enabled(false);

}

其他

{

JCB 1 . set enabled(true);

JCB 2 . set enabled(true);

}

//system . out . println(JCB 1 . is selected());

}

}

}

);

jbOK.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

If(e.getActionCommand()。等於(" OK "))

{

int pos = JTA . getcaretposition();

jta.insert(jtf.getText(),pos);

}

}

}

);

jbCancel.addActionListener(新的ActionListener()

{

public void action performed(action event EJB)

{

JD . dispose();

}

}

);

JD . set visible(true);

JD . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);

}

If(e.getActionCommand()。等於(“自動換行”))

{

if(mto1.getState())

{

JTA . setline wrap(true);

JTA . setwrapstyleword(true);

}

其他

{

JTA . setline wrap(false);

JTA . setwrapstyleword(false);

}

//system . out . println(" OK ");

}

If(e.getActionCommand()。equals ("font "))

{

Final JDialog jd=new JDialog(this,“字體設置”);

jd.setLocation(240,200);

//final JFrame jfontview = new JFrame();

GridBagLayout gbl = new GridBagLayout();

GridBagConstraints gbc = new GridBagConstraints();

JButton JK = new JButton(" OK ");

JButton JB cancel = new JButton(" cancel ");

JTextField jtf 1 = new JTextField(6);

final JTextArea JTA view = new JTextArea(4,8);

//jfontview.getContentPane()。添加(JTA view);

final JTextField jtf 2 = new JTextField(6);

final JTextField JT F3 = new JTextField(3);

JComboBox JCB 1 = new JComboBox();

final JComboBox JCB 2 = new JComboBox();

JCB 2 . additem(" BOLD ");

JCB 2 . additem(" ITALIC ");

JCB 2 . additem(" PLAIN ");

//JCB 2 . additem(" bold italic ");

jcb2.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

jtf 2 . settext((String)JCB 2 . getselecteditem());

}

}

);

final JComboBox JC B3 = new JComboBox();

JCB 3 . additem(" 14 ");

JCB 3 . additem(" 18 ");

JCB 3 . additem(" 22 ");

JCB 3 . additem(" 26 ");

JCB 3 . additem(" 30 ");

JCB 3 . additem(" 34 ");

jcb3.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

JT F3 . settext((String)JCB 3 . getselecteditem());

//JTA view . settext(" SS ");

//int font size view = integer . parse int((String)JCB 3 . getselecteditem());

//Font fontview=new Font("字體預覽",字體。粗體,font size view);

//JTA view . set font(font view);

//JTA view . set editable(false);

}

}

);

gbc . grid height = 1;

gbc . grid width = 1;

//gbc . gridx = 1;

//gbc . gridy = 0;

gbc.weightx = 0.5

gbc.weighty = 0.5

jd.getContentPane()。set layout(gbl);

//JLabel JL 1 = new JLabel(" Preview:");

JLabel jl2 = new JLabel(" font:");

JLabel jl3 = new JLabel(" size:");

gbc . gridx = 0;

gbc . gridy = 0;

jd.getContentPane()。添加(jl2,gbc);

gbc . gridx = 2;

gbc . gridy = 0;

jd.getContentPane()。添加(jl3,gbc);

//gbc . gridx = 4;

//gbc . gridy = 0;

//jd.getContentPane()。添加(jl3,gbc);

gbc . gridx = 0;

gbc . gridy = 1;

jd.getContentPane()。添加(jtf2,gbc);

gbc . gridx = 2;

gbc . gridy = 1;

jd.getContentPane()。添加(jtf3,gbc);

//gbc . gridx = 4;

//gbc . gridy = 1;

//jd.getContentPane()。添加(jtf3,gbc);

gbc . gridx = 0;

gbc . gridy = 2;

jd.getContentPane()。添加(jcb2,gbc);

gbc . gridx = 2;

gbc . gridy = 2;

jd.getContentPane()。添加(jcb3,gbc);

//gbc . gridx = 4;

//gbc . gridy = 2;

//jd.getContentPane()。添加(jcb3,gbc);

gbc . gridx = 4;

gbc . gridy = 1;

jd.getContentPane()。添加(jko,gbc);

gbc . gridx = 4;

gbc . gridy = 2;

jd.getContentPane()。add(jbCancel,gbc);

jbOK.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

if(jtf2.getText()。等於("普通"))

{

int font size = integer . parse int(JT F3 . gettext());

int font style = 0;

Font f =新字體(“字體設置”,fontstyle,fontsize);

JTA . set font(f);

//system . out . println(f . get font(" italics _ GB 2312 ")。get font name());

}

if(jtf2.getText()。等於("粗體"))

{

int font size = integer . parse int(JT F3 . gettext());

int font style = 1;

Font f =新字體(“字體設置”,fontstyle,fontsize);

JTA . set font(f);

}

if(jtf2.getText()。等於("斜體"))

{

int font size = integer . parse int(JT F3 . gettext());

int font style = 2;

Font f =新字體(“字體設置”,fontstyle,fontsize);

JTA . set font(f);

}

JD . dispose();

//system . out . println(font style);

}

}

);

jbCancel.addActionListener(新的ActionListener()

{

公共無效操作已執行(操作事件e)

{

JD . dispose();

}

}

);

jd.setSize(200,120);

JD . setresizable(false);

JD . set visible(true);

JD . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);

}

If(e.getActionCommand()。equals("關於記事本"))

{

JOptionPane jop = new JOptionPane(null,JOptionPane。信息_消息);

Jop.showMessageDialog(null,“小廖記事本”,“關於記事本”,JooptionPane。OK _ option);

//system . out . println(" OK ");

}

}

UndoHander類實現UndoableEditListener

{

public void undoableeditoccured(UndoableEditEvent eundo)

{

undo . addedit(eundo . getedit());

}

}

}