
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程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)