用JAVA编个简单的记事本程序

用JAVA编个简单的记事本程序,第1张

import javaawtevent;

import javaawt;

import javaio;

import javautilCalendar;

import javautilDate;

import javaxswing;

class Editor extends Frame implements ActionListener,ItemListener

{

// Date date=new Date();

int n1;String str="";int k=0;String st1,st2;

JTextArea ta=new JTextArea(50,50);

Dialog dialog,dialog1;

Choice ce1,ce2,ce3;

Button btn1,btn2,btn3;Panel p1=new Panel();

Panel p2=new Panel();Panel p3=new Panel();Panel p4=new Panel();

public Editor (String s)

{

super ("记事本编辑板");

ImageIcon YouImg = new ImageIcon("iconimagejpg");

setIconImage(YouImggetImage());

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

dispose();

Systemexit(0);

}

});

setBounds(50,35,700,500);

MenuBar mb=new MenuBar();

setMenuBar(mb);

Menu file=new Menu("文件(F)");Menu edit=new Menu("编辑(E)");Menu help=new Menu("帮助(H)");

Menu pattern=new Menu("格式(P)");Menu time=new Menu("时间(T)");

MenuItem exit=new MenuItem("退出",new MenuShortcut(KeyEventVK_Q));

MenuItem tdate=new MenuItem("日期/时间",new MenuShortcut(KeyEventVK_D));

MenuItem renew=new MenuItem("新建", new MenuShortcut(KeyEventVK_N));

MenuItem save=new MenuItem("保存", new MenuShortcut(KeyEventVK_S));

MenuItem open=new MenuItem("打开",new MenuShortcut(KeyEventVK_O));

MenuItem copy=new MenuItem("复制",new MenuShortcut(KeyEventVK_C));

MenuItem paste=new MenuItem("粘贴",new MenuShortcut(KeyEventVK_V));

MenuItem cut=new MenuItem("剪切",new MenuShortcut(KeyEventVK_X));

MenuItem helptopic=new MenuItem("主题",new MenuShortcut(KeyEventVK_T));

helptopicaddActionListener(this);

dialog=new Dialog(this, "字体设置");dialogsetSize(300,300);

dialog1=new Dialog(this, "帮助主题");dialog1setBounds(250,100,300,400);

dialogaddWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

dialogsetVisible(false);}

});

dialog1addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

dialog1setVisible(false);}

});

//dialogsetBackground(ColorWHITE);

dialogsetLayout(null);dialogsetBounds(170,150,450,300);

Label L1=new Label("字体(F)");Label L2=new Label("字形(Y)");

Label L3=new Label("大小(S)");TextArea ta1=new TextArea(5,5);

ta1=new TextArea("至于记事本的主题嘛,因为本人的水平有限, 所有不能为大家作过多的指导,望大家见谅!"); //在这里我想加一个文本框用来放帮助信息。

ce1=new Choice();ce2=new Choice();

ce3=new Choice();

btn1=new Button("确定");btn2=new Button("取消");btn1addActionListener(this);btn2addActionListener(this);

btn3=new Button("颜色");

btn3addActionListener(this);

ce1add("华文行楷");ce1add("华文中宋");ce1add("华文新魏");ce1add("华文细黑");ce1add("宋体");ce1add("方正姚体");

ce1add("幼圆");ce1add("隶书");ce1add("楷体-GB2312");ce1add("华文行楷");ce1add("华文彩云");ce1add("仿宋-GB2312");

ce2add("粗体");ce2add("斜体");ce2add("常规");

for(int n1=0;n1<=100;n1++)

{ce3add(""+n1);}

dialogadd(p1);p1setBounds(5,30,440,35);p1setLayout( null);//p1setBackground(Colorred);

dialogadd(p2);p2setBounds(5,65,440,27);dialogadd(p3);p3setBounds(5,90,440,40);//p4setBounds(5,120,440,138);

p1setLayout( null);

p1add(L1);L1setBounds(5,15,50,25);p1add(L2);L2setBounds(150,15,50,25);

p1add(L3);L3setBounds(250,15,50,25);p2setLayout( null);//p2setBackground(Coloryellow);

p2add(ce1);ce1setBounds(5,0,130,25);p2add(ce2);ce2setBounds(160,0,90,25);p2add(ce3);ce3setBounds(260,0,75,25);

p2add(btn1);btn1setBounds(360,0,75,25);

p3setLayout( null);p3add(btn2);btn2setBounds(360,10,75,25);p3add(btn3);btn3setBounds(160,10,75,25);

dialogadd(p4);p4setBackground(Coloryellow);p4setBounds(5,120,440,138);

dialog1add(ta1);

//设置字体的下拉情况

MenuItem Font=new MenuItem("字体");//给字体加监听器

FontaddActionListener(this);

MenuItem Replace=new MenuItem("替换"); MenuItem Seek=new MenuItem("查找");

//首要添加组件的情况

mbadd(file);mbadd(edit);mbadd(pattern);mbadd(time);mbadd(help);

fileadd(renew);fileaddSeparator();fileadd(open);timeadd(tdate);

fileaddSeparator(); fileadd(exit);fileaddSeparator();fileadd(save);

editadd(copy); editaddSeparator();editadd(paste);editaddSeparator();editadd(cut);

patternadd(Font); patternadd(Replace);

patternadd(Seek);helpadd(helptopic);

//给必要的组件加上监听器

renewaddActionListener( this);tdateaddActionListener(this);

openaddActionListener(this); saveaddActionListener(this);exitaddActionListener(this);

cutaddActionListener(this);copyaddActionListener(this);pasteaddActionListener(this);

ce1addItemListener(this);ce2addItemListener(this);ce3addItemListener(this);

//添加必要的组件

add(ta,"Center");tasetBackground(new Color(249,255,234));

setSize(700,500);

setVisible(true);

thisvalidate() ;

}

public void itemStateChanged(ItemEvent e) {

if (ce2getSelectedItem()equals("粗体"))

{ k=1;st1=ce1getSelectedItem();st2=ce3getSelectedItem();}

if (ce2getSelectedItem()equals("斜体"))

{ k=2;st1=ce1getSelectedItem();st2=ce3getSelectedItem();}

if (ce2getSelectedItem()equals("常规"))

{ k=3;st1=ce1getSelectedItem();st2=ce3getSelectedItem();}

}

public void actionPerformed(ActionEvent e)

{

if(egetActionCommand()equals("新建"))

{Systemoutprintln("new ");

tasetText("");}

if(egetActionCommand()equals("退出"))

{ Systemexit(0);}

try

{

if(egetActionCommand()equals("打开"))

openText();

if(egetActionCommand()equals("保存"))

saveText();

}catch(IOException e1){}

if(egetActionCommand()equals("复制"))

{ str=tagetSelectedText();}

if(egetActionCommand()equals("粘贴"))

{ tainsert(str,tagetCaretPosition());}

if(egetActionCommand()equals("剪切"))

{str=tagetSelectedText();tareplaceRange("",tagetSelectionStart(),tagetSelectionEnd());

}

if(egetActionCommand()equals("字体"))

{dialogsetVisible(true);}

if(egetActionCommand()equals("主题"))

{dialog1setVisible(true);}

if(egetActionCommand()equals("颜色"))

{

Color clr=JColorChoosershowDialog(this,"颜色对话框",null);

tasetForeground(clr);

}

if(egetSource()==btn2)

dialogsetVisible(false);

if(egetSource()==btn1)

{

if(k==1)

{ tasetFont(new Font(st1,FontBOLD,IntegerparseInt(st2)));}

if(k==2)

{ tasetFont(new Font(st1,FontITALIC,IntegerparseInt(st2)));}

if(k==3)

{ tasetFont(new Font(st1,FontPLAIN,IntegerparseInt(st2)));}

dialogsetVisible(false);

}

//if (egetActionCommand()equals("日期/时间"))

//tasetText(tagetText()+""+date);

if(egetActionCommand()equals("日期/时间"))

{

Calendar c1 =CalendargetInstance();

int y = c1get(CalendarYEAR);

int m = c1get(CalendarMONTH);

int d = c1get(CalendarDATE);

int h = c1get(CalendarHOUR);

int m1 = c1get(CalendarMINUTE);

int m2 = m+1;

tasetText(tagetText()+""+(y+"年"+m2+"月"+d+"日"+h+":"+m1));

}

}

public void openText() throws IOException

{

FileDialog fd=new FileDialog(this,"打开文件对话框",FileDialogLOAD);

fdsetVisible(true);FileInputStream fis=new FileInputStream(fdgetDirectory()+fdgetFile());

tasetText("");

int n=0;

while((n=fisread())!=-1)

taappend(""+(char)n);

fisclose();

}

public void saveText() throws IOException

{

FileDialog fd=new FileDialog(this,"打开文件对话框",FileDialogSAVE);

fdsetVisible(true);

FileOutputStream out=new FileOutputStream(fdgetDirectory()+fdgetFile()+"txt");

String str=tagetText();

String str1=tagetText();

for(int n=0;n<strlength();n++)

outwrite((byte)strcharAt(n));

outclose();

}

public static void main(String[] args)

{

Editor f=new Editor(" 记事本程序");

//添加时间代码

Date date=new Date();

Systemoutprint(date);

/Calendar now=CalendargetInstance();

int year=nowget(CalendarYEAR);

int month=nowget(CalendarMONTH)+1;

int day=nowget(CalendarDATE);

Systemoutprint(year+"年"+month+"月"+day+"日");

int week=nowget(CalendarDAY_OF_WEEK);

String str="日一二三四五六";//星期1-7

int i=2(week-1);

Systemoutprintln("星期"+strsubstring(i,i+2));//对应中文的下标/

}

class dialog extends Dialog

{

public dialog()

{

super(dialog, "字体设置");

class Mycanvas extends Canvas

{

Toolkit tk;

Image img;

Mycanvas()

{

setSize(440,138);

tk=getToolkit();

img=tkgetImage("photojpg");

}

public void paint(Graphics g)

{

gdrawImage(img,5,120,440,138,this);

}

}

}

}

}

1、打开电脑,首先点击开始按钮选择打开记事本选项按钮。

2、记事本页面后写好代码之后,点击左上角的文件选项按钮。

3、写好之后点击文件下的保存选项按钮

4、这时候就要文件名的后缀改成java

5、改好之后点击保存,之后就可以变成JAVA源文件了。

1、先下载安装java sdk 16或16以上最新版本,并安装。 2、用记事本编辑java源码如:public class Test{public static void main(String argv []){Systemoutprintln("Hello Java!");}} 3、运行javac Testjava,进行编译,得到Testclass 4、用java命令解析运行 java Test ,注意,此处不用加上扩展名class 5、从方便和提高效率来说,即使是专业程序员,对于大一点的程序,用记事本来编辑都没有用eclipse或netbeans这样的IDE方便。

import javaawt;

import javaawtevent;

import javaio;

import javaawtdatatransfer;

class MyMenuBar extends MenuBar{

public MyMenuBar(Frame parent){

parentsetMenuBar(this);

}

public void addMenus(String [] menus){

for(int i=0;i<menuslength;i++)

add(new Menu(menus[i]));

}

public void addMenuItems(int menuNumber,String[] items){

for(int i=0;i<itemslength;i++){

if(items[i]!=null)

getMenu(menuNumber)add(new MenuItem(items[i]));

else getMenu(menuNumber)addSeparator();

}

}

public void addActionListener(ActionListener al){

for(int i=0;i<getMenuCount();i++)

for(int j=0;j<getMenu(i)getItemCount();j++)

getMenu(i)getItem(j)addActionListener(al);

}

}

class MyFile{

private FileDialog fDlg;

public MyFile(Frame parent){

fDlg=new FileDialog(parent,"",FileDialogLOAD);

}

private String getPath(){

return fDlggetDirectory()+"\\"+fDlggetFile();

}

public String getData() throws IOException{

fDlgsetTitle("打开");

fDlgsetMode(FileDialogLOAD);

fDlgsetVisible(true);

BufferedReader br=new BufferedReader(new FileReader(getPath()));

StringBuffer sb=new StringBuffer();

String aline;

while((aline=brreadLine())!=null)

sbappend(aline+'\n');

brclose();

return sbtoString();

}

public void setData(String data) throws IOException{

fDlgsetTitle("保存");

fDlgsetMode(FileDialogSAVE);

fDlgsetVisible(true);

BufferedWriter bw=new BufferedWriter(new FileWriter(getPath()));

bwwrite(data);

bwclose();

}

}

class MyClipboard{

private Clipboard cb;

public MyClipboard(){

cb=ToolkitgetDefaultToolkit()getSystemClipboard();

}

public void setData(String data){

cbsetContents(new StringSelection(data),null);

}

public String getData(){

Transferable content=cbgetContents(null);

try{

return (String) contentgetTransferData(DataFlavorstringFlavor);

//DataFlavorstringFlavor会将剪贴板中的字符串转换成Unicode码形式的String对象。

//DataFlavor类是与存储在剪贴板上的数据的形式有关的类。

}catch(Exception ue){}

return null;

}

}

class MyFindDialog extends Dialog implements ActionListener{

private Label lFind=new Label("查找字符串");

private Label lReplace=new Label("替换字符串");

private TextField tFind=new TextField(10);

private TextField tReplace=new TextField(10);

private Button bFind=new Button("查找");

private Button bReplace=new Button("替换");

private TextArea ta;

public MyFindDialog(Frame owner,TextArea ta){

super(owner,"查找",false);

thista=ta;

setLayout(null);

lFindsetBounds(10,30,80,20);

lReplacesetBounds(10,70,80,20);

tFindsetBounds(90,30,90,20);

tReplacesetBounds(90,70,90,20);

bFindsetBounds(190,30,80,20);

bReplacesetBounds(190,70,80,20);

add(lFind);

add(tFind);

add(bFind);

add(lReplace);

add(tReplace);

add(bReplace);

setResizable(false);

bFindaddActionListener(this);

bReplaceaddActionListener(this);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

MyFindDialogthisdispose();

}

});

}//构造函数结束

public void showFind(){

setTitle("查找");

setSize(280,60);

setVisible(true);

}

public void showReplace(){

setTitle("查找替换");

setSize(280,110);

setVisible(true);

}

private void find(){

String text=tagetText();

String str=tFindgetText();

int end=textlength();

int len=strlength();

int start=tagetSelectionEnd();

if(start==end) start=0;

for(;start<=end-len;start++){

if(textsubstring(start,start+len)equals(str)){

tasetSelectionStart(start);

tasetSelectionEnd(start+len);

return;

}

}

//若找不到待查字符串,则将光标置于末尾

tasetSelectionStart(end);

tasetSelectionEnd(end);

}

public Button getBFind() {

return bFind;

}

private void replace(){

String str=tReplacegetText();

if(tagetSelectedText()equals(tFindgetText()))

tareplaceRange(str,tagetSelectionStart(),tagetSelectionEnd());

else find();

}

public void actionPerformed(ActionEvent e) {

if(egetSource()==bFind)

find();

else if(egetSource()==bReplace)

replace();

}

}

public class MyMemo extends Frame implements ActionListener{

private TextArea editor=new TextArea(); //可编辑的TextArea

private MyFile mf=new MyFile(this);//MyFile对象

private MyClipboard cb=new MyClipboard();

private MyFindDialog findDlg=new MyFindDialog(this,editor);

public MyMemo(String title){ //构造函数

super(title);

MyMenuBar mb=new MyMenuBar(this);

//添加需要的菜单及菜单项

mbaddMenus(new String[]{"文件","编辑","查找","帮助"});

mbaddMenuItems(0,new String[]{"新建","打开","保存",null,"全选"});

mbaddMenuItems(1,new String[]{"剪贴","复制","粘贴","清除",null,"全选"});

mbaddMenuItems(2,new String[]{"查找",null,"查找替换"});

mbaddMenuItems(3,new String[]{"我的记事本信息"});

add(editor); //为菜单项注册动作时间监听器

mbaddActionListener(this);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

MyMemothisdispose();

}

}); //分号不能忘了

} //构造函数完

public void actionPerformed(ActionEvent e){

String selected=egetActionCommand(); //获取菜单项标题

if(selectedequals("新建"))

editorsetText("");

else if(selectedequals("打开")){

try{

editorsetText(mfgetData());

}catch(IOException ie){}

}

else if(selectedequals("保存")){

try{

mfsetData(editorgetText());

}catch(IOException ie){}

}

else if(selectedequals("退出")){

dispose();

}

else if(selectedequals("剪贴")){

//将选中的字符串复制到剪贴板中并清除字符串

cbsetData(editorgetSelectedText());

editorreplaceRange("",editorgetSelectionStart(),editorgetSelectionEnd());

}

else if(selectedequals("复制")){

cbsetData(editorgetSelectedText());

}

else if(selectedequals("粘贴")){

String str=cbgetData();

editorreplaceRange(str,editorgetSelectionStart(),editorgetSelectionEnd());

//粘贴在光标位置

}

else if(selectedequals("清除")){

editorreplaceRange("",editorgetSelectionStart(),editorgetSelectionEnd());

}

else if(selectedequals("全选")){

editorsetSelectionStart(0);

editorsetSelectionEnd(editorgetText()length());

}

else if(selectedequals("查找")){

findDlgshowFind();

}

else if(selectedequals("查找替换")){

findDlgshowReplace();

}

}

public static void main(String[] args){

MyMemo memo=new MyMemo("记事本");

memosetSize(650,450);

memosetVisible(true);

}

}

以上就是关于用JAVA编个简单的记事本程序全部的内容,包括:用JAVA编个简单的记事本程序、如何把记事本文件变成JAVA源文件、怎么用记事本编写java程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10065221.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存