记事本框架java代码 java编写记事本代码

记事本java代码

//继承的类换一下,应该用swing包里面

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站设计、元江县网络推广、微信小程序开发、元江县网络营销、元江县企业策划、元江县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供元江县建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

class Jsben extends Frame  {   -- class Jsben extends JFrame  {

frame的方法setMenuBar(bar);和setJMenuBar(bar);这个不太一样,功能类似

怎么用记事本编写java程序?

1、先下载安装java sdk 1.6或1.6以上最新版本,并安装。 2、用记事本编辑java源码如:public class Test{public static void main(String argv []){System.out.println("Hello Java!");}}

保存为"所有文件",Test.java,主文件名与public class Test保持一致。 3、运行javac Test.java,进行编译,得到Test.class 4、用java命令解析运行 java Test ,注意,此处不用加上扩展名.class 5、从方便和提高效率来说,即使是专业程序员,对于大一点的程序,用记事本来编辑都没有用eclipse或netbeans这样的IDE方便。 6、如要进行Java EE或Java ME,或android开发,则必须要用IDE,除非是只做少量修改。 即使是喜欢用Linux的用户,他们也会用功能强大得多的vi

Java记事本源代码

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.FlowLayout;

import java.awt.datatransfer.Clipboard;

import java.awt.datatransfer.DataFlavor;

import java.awt.datatransfer.Transferable;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import java.awt.event.InputEvent;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

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.JPanel;

import javax.swing.JPopupMenu;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.KeyStroke;

import javax.swing.filechooser.FileFilter;

public class Demo extends JFrame {

private static final long serialVersionUID = 1L; //Eclipse自动生成序列号

String name = "无标题";

JPanel menuPanel = new JPanel();

JTextArea text = new TextAreaMenu(); //文本编辑区

JScrollPane jsp = new JScrollPane(text); //可滚动编辑区

JMenuBar mnbMain = new JMenuBar();

JMenu mnServer = new JMenu("文件(F)");

JMenu mnEdit = new JMenu("编辑(E)");

JMenuItem[] mniServers = new JMenuItem[]{

new JMenuItem("新建(N)"),

new JMenuItem("保存(S)"),

new JMenuItem("打开(O)"),

new JMenuItem("退出(X)"),

};

{

menuPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));

mnbMain.add(mnServer);

menuPanel.add(mnbMain);

mnbMain.setBounds(5, 0, 50, 30);

for (int i = 0; i mniServers.length; i++) {

mnServer.add(mniServers[i]);

}

mniServers[0].addActionListener(new ActionListener() { //定义"新建"组件操作

@Override

public void actionPerformed(ActionEvent arg0) {

new Demo(getLocation().x+15,getLocation().y+5);

}

});

mniServers[1].addActionListener(new ActionListener() { //定义"保存"组件操作

@Override

public void actionPerformed(ActionEvent arg0) {

chooseToSave();

}

});

mniServers[2].addActionListener(new ActionListener() { //定义"打开"组件操作

@Override

public void actionPerformed(ActionEvent arg0) {

chooseToOpen();

}

});

mniServers[3].addActionListener(new ActionListener() { //定义"退出"组件操作

@Override

public void actionPerformed(ActionEvent arg0) {

System.exit(0);

}

});

text.addFocusListener(new FocusListener() {

@Override

public void focusLost(FocusEvent e) {

// TODO Auto-generated method stub

}

@Override

public void focusGained(FocusEvent e) {

}

});

}

public Demo(int x,int y) {

this.setTitle( name +" - 记事本");

this.setBounds(x, y, 600, 400);

this.setLayout(new BorderLayout());

this.add(menuPanel, BorderLayout.NORTH);

this.add(jsp);

jsp.setBounds(5, 30, getWidth()-10, getHeight()-50);

this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

this.setVisible(true);

}

public Demo() {

this(200,200);

}

protected void chooseToSave() {

File file = chooseFile();

if(null==file)return;

if(file.exists()){

int cho = JOptionPane.showConfirmDialog(this, "文件已存在,是否覆盖?");

System.out.println(cho);

if(cho==JOptionPane.OK_OPTION)save(file);

else return;

}

else save(file);

}

private void save(File file) {

name = file.getName();

write(text.getText(),file.getPath());

this.setTitle( name +" - 记事本");

}

protected void chooseToOpen() {

File file = chooseFile();

if(null==file||!file.exists())return;

name = file.getName();

Demo.this.setTitle( name +" - 记事本");

read(text,file);

}

/*********************************************MAIN**************************************************/

public static void main(String[] args) {

new Demo();

}

private File chooseFile(){

JFileChooser chooser = new JFileChooser(); //构建文件选择器

chooser.setFileFilter(new FileFilter() {

@Override

public String getDescription() {

return "文本文件";

}

@Override

public boolean accept(File f) {

String name = f.getName().toLowerCase();

return f.isDirectory() || name.endsWith(".txt")

||name.endsWith(".c") || name.endsWith(".java")

||name.endsWith(".cpp"); //可识别文件

}

});

int result = chooser.showDialog(null, "确定");

if (result==JFileChooser.APPROVE_OPTION) {

File file = chooser.getSelectedFile();

System.out.println(file.getAbsolutePath());

} else {

System.out.println("未选择文件");

}

return chooser.getSelectedFile();

}

public static void read(JTextArea text,File file){ //定义读取文件操作

FileReader fr;

try {

fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);

String string = null;

while((string = br.readLine()) != null){

text.append(string+"\n");

}

br.close();

fr.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void write(String txt,String fileName){

FileWriter fw;

try {

fw = new FileWriter(fileName);

BufferedWriter bw = new BufferedWriter(fw);

bw.write(txt);

bw.flush();

bw.close();

fw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

class TextAreaMenu extends JTextArea implements MouseListener {

private static final long serialVersionUID = -2308615404205560110L;

private JPopupMenu pop = null; // 弹出菜单

private JMenuItem selectAll = null,copy = null, paste = null, cut = null, cancel=null; // 功能菜单

public TextAreaMenu() {

super();

init();

}

private void init() {

this.addMouseListener(this);

this.setSelectedTextColor(Color.red);

pop = new JPopupMenu();

pop.add(selectAll = new JMenuItem("全选"));

pop.add(copy = new JMenuItem("复制"));

pop.add(paste = new JMenuItem("粘贴"));

pop.add(cut = new JMenuItem("剪切"));

pop.add(cancel = new JMenuItem("撤销"));

selectAll.setAccelerator(KeyStroke.getKeyStroke('A', InputEvent.CTRL_MASK));

copy.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_MASK));

paste.setAccelerator(KeyStroke.getKeyStroke('V', InputEvent.CTRL_MASK));

cut.setAccelerator(KeyStroke.getKeyStroke('X', InputEvent.CTRL_MASK));

cancel.setAccelerator(KeyStroke.getKeyStroke('Z', InputEvent.CTRL_MASK));

copy.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

paste.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

cut.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

this.add(pop);

}

/**

* 菜单动作

* @param e

*/

public void action(ActionEvent e) {

String str = e.getActionCommand();

if (str.equals(selectAll.getText())) { // 全选

this.selectAll();

}

else if (str.equals(copy.getText())) { // 复制

this.copy();

} else if (str.equals(paste.getText())) { // 粘贴

this.paste();

} else if (str.equals(cut.getText())) { // 剪切

this.cut();

}

else if (str.equals(cancel.getText())) { //撤销

this.cut();

}

}

public JPopupMenu getPop() {

return pop;

}

public void setPop(JPopupMenu pop) {

this.pop = pop;

}

/**

* 剪切板中是否有文本数据可供粘贴

*

* @return true为有文本数据

*/

public boolean isClipboardString() {

boolean b = false;

Clipboard clipboard = this.getToolkit().getSystemClipboard();

Transferable content = clipboard.getContents(this);

try {

if (content.getTransferData(DataFlavor.stringFlavor) instanceof String) {

b = true;

}

} catch (Exception e) {

}

return b;

}

/**

* 文本组件中是否具备复制的条件

*

* @return true为具备

*/

public boolean isCanCopy() {

boolean b = false;

int start = this.getSelectionStart();

int end = this.getSelectionEnd();

if (start != end)

b = true;

return b;

}

public void mouseClicked(MouseEvent e) {

}

public void mouseEntered(MouseEvent e) {

}

public void mouseExited(MouseEvent e) {

}

public void mousePressed(MouseEvent e) {

if (e.getButton() == MouseEvent.BUTTON3) {

copy.setEnabled(isCanCopy());

paste.setEnabled(isClipboardString());

cut.setEnabled(isCanCopy());

pop.show(this, e.getX(), e.getY());

}

}

public void mouseReleased(MouseEvent e) {

}

}

如何使用记事本编写java程序

很简单的啊,在记事本里写上相应的java代码,写好保存后将相应的文件名后缀改为****.java,然后用CMD去编译一下就可以了。

具体流程是这样的:

然后就可以去CMD那里编译和运行了。

在华信智原的JAVA课堂里面第一节课就会讲到这个基础的知识。

java记事本的基本框架

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.awt.datatransfer.*;

import java.util.*;

public class NotePad//本实验仅实现:文件(暂时模拟)打开,新建,保存,另存为,转到

{ //具体实现:剪切,复制,粘贴,删除,全选,打印,退出,页面设置,日期时间

//其他待实现

public static void main(String args[])

{

MyWindow my=new MyWindow("我的记事本");

}

}

class MyWindow extends Frame implements ActionListener

{

MyDialog dia1;

FileDialog saver,opener,save_as;

Clipboard clipboard;

MenuBar bar;

Menu menu1,menu2,menu3,menu4,menu5;

MenuItem newmake,open,save,saveas,pageset,print,exit;

MenuItem che,cut,copy,paste,del,search,s_next,replace,trans,save_all,data_time;

MenuItem letter;

MenuItem statusbar;

MenuItem help1,help2;

TextArea tex;

PrintJob p=null;

Graphics g=null;

CheckboxMenuItem auto_newline;

MyWindow(String s)

{

super(s);

dia1=new MyDialog(this,"转到下列行",true);

clipboard=getToolkit().getSystemClipboard();

saver=new FileDialog(this,"保存文件",FileDialog.SAVE);

//saver.setLocation(100,60);

opener=new FileDialog(this,"打开文件",FileDialog.LOAD);

save_as=new FileDialog(this,"另存为",FileDialog.LOAD);

bar=new MenuBar();

Menu menu1=new Menu("文件(F)");

Menu menu2=new Menu("编辑(E)");

Menu menu3=new Menu("格式(O)");

Menu menu4=new Menu("查看(V)");

Menu menu5=new Menu("帮助(H)");

newmake=new MenuItem("新建(N)");

newmake.addActionListener(this);

newmake.setShortcut(new MenuShortcut(KeyEvent.VK_N));

open=new MenuItem("打开(O)");

open.addActionListener(this);

open.setShortcut(new MenuShortcut(KeyEvent.VK_O));

save=new MenuItem("保存(S)");

save.addActionListener(this);

save.setShortcut(new MenuShortcut(KeyEvent.VK_S));

saveas=new MenuItem("另存为(A)");

saveas.addActionListener(this);

pageset=new MenuItem("页面设置(U)...");

pageset.addActionListener(this);

print=new MenuItem("打印(P)...");

print.addActionListener(this);

print.setShortcut(new MenuShortcut(KeyEvent.VK_P));

exit=new MenuItem("退出(X)");

exit.addActionListener(this);

menu1.add(newmake);

menu1.add(open);

menu1.add(save);

menu1.add(saveas);

menu1.addSeparator();

menu1.add(pageset);

menu1.add(print);

menu1.addSeparator();

menu1.add(exit);

che=new MenuItem("撤销(U)");

che.setShortcut(new MenuShortcut(KeyEvent.VK_Z));

cut=new MenuItem("剪切(T)");

cut.addActionListener(this);

cut.setShortcut(new MenuShortcut(KeyEvent.VK_X));

copy=new MenuItem("复制(C)");

copy.addActionListener(this);

copy.setShortcut(new MenuShortcut(KeyEvent.VK_C));

paste=new MenuItem("粘贴(P)");

paste.addActionListener(this);

paste.setShortcut(new MenuShortcut(KeyEvent.VK_V));

del=new MenuItem("删除(L)");

del.addActionListener(this);

del.setShortcut(new MenuShortcut(KeyEvent.VK_D));

search=new MenuItem("查找(F)...");

search.setShortcut(new MenuShortcut(KeyEvent.VK_F));

s_next=new MenuItem("查找下一个(N)");

s_next.setShortcut(new MenuShortcut(KeyEvent.VK_F3));

replace=new MenuItem("替换(R)...");

replace.setShortcut(new MenuShortcut(KeyEvent.VK_H));

trans=new MenuItem("转到(G)...");

trans.setShortcut(new MenuShortcut(KeyEvent.VK_G));

trans.addActionListener(this);

save_all=new MenuItem("全选(A)");

save_all.setShortcut(new MenuShortcut(KeyEvent.VK_A));

save_all.addActionListener(this);

data_time=new MenuItem("日期/时间(D)");

data_time.setShortcut(new MenuShortcut(KeyEvent.VK_F5));

data_time.addActionListener(this);

menu2.add(che);

menu2.addSeparator();

menu2.add(cut);

menu2.add(copy);

menu2.add(paste);

menu2.add(del);

menu2.addSeparator();

menu2.add(search);

menu2.add(s_next);

menu2.add(replace);

menu2.add(trans);

menu2.addSeparator();

menu2.add(save_all);

menu2.add(data_time);

auto_newline=new CheckboxMenuItem("自动换行(W)");//尚未实现

auto_newline.addActionListener(this);

letter=new MenuItem("字体(F)...");//尚未实现

menu3.add(auto_newline);

menu3.add(letter);

statusbar=new MenuItem("状态栏(S)");

statusbar.setEnabled(false);

menu4.add(statusbar);

help1=new MenuItem("帮助主题(H)");

help2=new MenuItem("关于记事本(A)");

menu5.add(help1);

menu5.add(help2);

bar.add(menu1);

bar.add(menu2);

bar.add(menu3);

bar.add(menu4);

bar.add(menu5);

setMenuBar(bar);

tex=new TextArea();

add(tex,BorderLayout.CENTER);

setBounds(300,50,600,600);

setVisible(true);

validate();

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==open)

{

opener.setVisible(true);

tex.setText("你打开的文件为:"+opener.getFile()+"\n文件所在目录为:"+opener.getDirectory());

}

if(e.getSource()==save)

{

saver.setVisible(true);

tex.setText("你保存文件为:"+saver.getFile()+"\n文件所在目录为:"+saver.getDirectory());

}

if(e.getSource()==saveas)

{

save_as.setVisible(true);

tex.setText("你另存的文件为:"+save_as.getFile()+"\n文件所在目录为:"+save_as.getDirectory());

}

if(e.getSource()==exit)

{

System.exit(0);

}

if(e.getSource()==newmake)

{

//if(tex.getText()!=null)这里不可以判断内容的有无,只能通过内容的长度,来判断是否输入了内容

if(tex.getText().length()!=0)

{

int k=JOptionPane.showConfirmDialog(this,"文件的文字已经改变,想保存文件吗?","确认对话框",JOptionPane.YES_NO_OPTION);

if(k==JOptionPane.YES_OPTION)

{

saver.setVisible(true);

tex.setText(null);

}

if(k==JOptionPane.NO_OPTION)

{

tex.setText(null);

}

}

else

{

tex.setText("你已经新建一个文件");

}

}

if(e.getSource()==print)

{

p=getToolkit().getPrintJob(this,"ok",null);

g=p.getGraphics();

g.translate(120,200);

tex.printAll(g);

g.dispose();

p.end();

}

if(e.getSource()==trans)//未实现

{

dia1.setVisible(true);

//dia1.setCaretPosition();

}

if(e.getSource()==save_all)

{

tex.selectAll();//全选

}

if(e.getSource()==data_time)

{

Date d=new Date();

tex.append(d.toString());

}

if(e.getSource()==pageset)

{

p=getToolkit().getPrintJob(this,"ok",null);

g=p.getGraphics();

g.translate(120,200);

tex.printAll(g);

g.dispose();

p.end();

}

if(e.getSource()==copy)

{

String temp=tex.getSelectedText();

StringSelection text=new StringSelection(temp);

clipboard.setContents(text,null);

}

else if(e.getSource()==cut)

{

String temp=tex.getSelectedText();

StringSelection text=new StringSelection(temp);

clipboard.setContents(text,null);

int start=tex.getSelectionStart();

int end=tex.getSelectionEnd();

tex.replaceRange("",start,end);

}

else if(e.getSource()==paste)

{

Transferable contents=clipboard.getContents(this);

DataFlavor flavor=DataFlavor.stringFlavor;

if(contents.isDataFlavorSupported(flavor))

{

try{

String str=(String)contents.getTransferData(flavor);

tex.append(str);

}

catch(Exception ee){}

}

}

if(e.getSource()==del)

{

int start=tex.getSelectionStart();

int end=tex.getSelectionEnd();

tex.replaceRange("",start,end);

}

//if(e.getSource()==auto_newline)

//{

//System.out.println("自动换行");

//}

}

}

class MyDialog extends Dialog implements ActionListener

{

TextField t1;

Button but1,but2;

MyDialog(Frame f,String s,boolean b)

{

super(f,s,b);

t1=new TextField(10);

but1=new Button("确定");

but2=new Button("取消");

setLayout(new FlowLayout());

add(t1);

add(but1);

add(but2);

but1.addActionListener(this);

but2.addActionListener(this);

setBounds(320,150,200,100);

validate();

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==but1||e.getSource()==but2)

{

setVisible(false);

}

}

}

电脑怎么用记事本写Java程序并运行?

1. 新建一个记事本,后缀名是  .java  ;然后在里面写一段java的代码,如图:

2.把写好的java文件丢进D盘,就是第一步给出的那个class文件;

3. 打开dos界面 开始-〉运行-〉cmd-〉 这个是命令行模式,选择D盘,如图:

4.选择D盘之后,在命令提示符中输入“javac 文件名.java”,我的文件名为java,所以输入javac java.java然后回车,等待编译。这时候你就会发现它提示说javac不是内部文件。接下来就是java环境变量设置的问题了;

5.下载一个jdk执行默认安装。例如我下的jdk版本是: jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe;

6.配置环境:右击我的电脑点属性,进去点高级就能看到环境变量。点进去就能设置你的系统变量了,如图:

6-1。变量名:classpath    变量值:(.;C:\Program Files\Java\jdk1.6.0_10\lib;)括号里面都是 (主要我们在编译运行程序的时候通过classpath可以帮助我们找到一些需要的系统类,“.”号是表示当前路径;“;”号是用来隔开多个变量值,如果你的系统里面已经有classpath环 境变量,就不用新建了,直接加“;”号,在后面加新值);如图所示


网站名称:记事本框架java代码 java编写记事本代码
本文地址:http://hbruida.cn/article/hijedh.html